用WMI拉回远程netstat数据

本文关键字:netstat 数据 WMI | 更新日期: 2023-09-27 18:08:00

我正在尝试从远程计算机获取netstat信息。现在,我的方法是:

1)在c#中使用命令netstat -a> C:'file.out执行RemoteProcess2)我将远程C$共享映射到我的本地
3)从挂载目录

读取文件

我希望一次在许多系统上执行此操作,并且这种方法的性能很差。我在想一个更好的方法是查询WMI,但我找不到如何从msdn上的类定义中提取netstat信息。有人有什么想法吗?蒂娅!

用WMI拉回远程netstat数据

我遇到了同样的问题,并通过使用以下命令行创建一个远程WMI进程来解决它:

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

我基本上只是确定了我使用的是哪种风格的操作系统(使用WMI),然后用C:'users'public'output.txtC:'Documents and Settings'All Users'output.txt格式化命令行的其余部分。然后我简单地读取结果并删除源文件。

您考虑过使用SNMP而不是WMI吗?在我看来,SNMP是最符合逻辑的协议。

虽然我的SNMP经验仅限于监视交换机和udp,但我将尝试给您一些关于从哪里开始的指针。

首先,这需要SNMP服务在被监视的计算机上运行,并且可能需要对使用哪些mib进行一些调查。我不能确切地告诉你去哪里看,但我发现一个项目已经这样做了(虽然不是。net,它应该是有用的参考)

项目链接(脚本)

经过一些调查,这个脚本应该提供足够的信息来尝试一下。

我注意到在他的脚本

中有以下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的进一步信息