Получение данных удаленного netstat с помощью WMI - PullRequest
0 голосов
/ 07 сентября 2011

Я пытаюсь получить информацию netstat с удаленного компьютера.Прямо сейчас мой метод:

1) Выполнить RemoteProcess в C # с помощью команды netstat -a> C: \ file.out 2) Я сопоставляю удаленный общий ресурс C $ с моим локальным
3)Я читаю файл с монтирования

Я ищу это на многих системах одновременно и получаю низкую производительность из-за этого метода.Я думаю, что лучшим способом было бы запросить WMI, но я не могу найти, как извлечь из него информацию netstat из определений классов в msdn.У кого-нибудь есть идеи?ТИА!

Ответы [ 2 ]

1 голос
/ 24 января 2012

У меня была такая же проблема, и я решил ее, создав удаленный процесс WMI со следующей командной строкой:

string commandLine = "cmd.exe /C netstat.exe -ano > \"{0}\"";

Я просто определил, с какой разновидностью ОС я работал (используя WMI), и отформатировал оставшуюся часть командной строки либо C:\users\public\output.txt, либо C:\Documents and Settings\All Users\output.txt. Затем я просто читаю результаты и удаляю исходный файл.

0 голосов
/ 07 сентября 2011

Вместо использования WMI, вы рассматривали SNMP ?SNMP кажется мне наиболее логичным протоколом для этого.

Хотя мой опыт работы с SNMP ограничен мониторингом коммутаторов и UDP, я постараюсь дать вам несколько советов, с чего начать.

Прежде всего, для этого требуется, чтобы служба SNMP работала наконтролируемые компьютеры и, возможно, какое-то расследование, на котором использовать MIB.Я не могу сказать вам точно, где искать, но я нашел проект, где это уже было сделано (хотя не .NET, это должно быть полезно для справки)

Ссылка на проект ( script )

При некотором расследовании этот сценарий должен дать достаточно информации, чтобы дать ему шанс.

Я заметил следующие OID в его скрипте

Для TCP (включая полное дерево, чтобы придать ему контекст):

1.3.6.1.2.1.6.13.1.1 - tcpConnState
1.3.6.1.2.1.6.13.1 - tcpConnEntry
1.3.6.1.2.1.6.13 - tcpConnTable
1.3.6.1.2.1.6 - tcp
1.3.6.1.2.1 - SNMP MIB-2
1.3.6.1.2 - IETF Management
1.3.6.1 - OID assignments from 1.3.6.1 - Internet
1.3.6 - US Department of Defense
1.3 - ISO Identified Organization
1 - ISO assigned OIDs

Для UDP:

1.3.6.1.2.1.7.5.1.1 - udpLocalAddress
1.3.6.1.2.1.7.5.1 - udpEntry
1.3.6.1.2.1.7.5 - udpTable
1.3.6.1.2.1.7 - udp
1.3.6.1.2.1 - SNMP MIB-2
1.3.6.1.2 - IETF Management
1.3.6.1 - OID assignments from 1.3.6.1 - Internet
1.3.6 - US Department of Defense
1.3 - ISO Identified Organization
1 - ISO assigned OIDs
Top of OID tree

Эта ссылка предоставляет дополнительную информацию о работе с SNMP

...