使用 WMI 拉回远程 netstat 数据

发布于 2024-12-03 09:27:44 字数 241 浏览 0 评论 0原文

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

1) 使用命令 netstat -a > 在 C# 中执行 RemoteProcess C:\文件.out 2) 我将远程 C$ 共享映射到本地
3)我从挂载中读取文件,

我希望同时在许多系统上执行此操作,但此方法的性能较差。我认为更好的方法是查询 WMI,但我找不到如何从 msdn 上的类定义中提取 netstat 信息。有人有什么想法吗?蒂亚!

I am trying to get netstat information from a remote computer. Right now, my method is:

1) Execute a RemoteProcess in C# with the command netstat -a > C:\file.out
2) I map the remote C$ share to my local
3) I read the file from the mount

I'm looking to do this on many systems at once and am getting poor performance out of this method. I'm thinking a better way would be to query WMI but I can't find how to pull the netstat info from it from the class definitions on msdn. Anyone have any ideas? TIA!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

慵挽 2024-12-10 09:27:44

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

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

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

I had the same problem and solved it by creating a remote WMI process with the following command line:

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

I basically just determined which flavor of OS I was working with (using WMI), and formatted the rest of the command line with either C:\users\public\output.txt or C:\Documents and Settings\All Users\output.txt. Then I simply read the results in and delete the source file.

夜还是长夜 2024-12-10 09:27:44

您是否考虑过使用 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 的更多信息

Instead of using WMI, have you considered SNMP? SNMP seems to me like the most logical protocol for this.

Although my SNMP experience is limited to monitoring switches and UDPs, I'll try to give you some pointers on where to begin.

First of all, this requires the SNMP service to run on the monitored computers, and probably some investigation on which MIBs to use. I couldn't tell you exactly where to look, but I found a project where this has been done already (although not .NET, it should be useful for reference)

Link to project (script)

With some investigation, this script should give enough information to give it a shot.

I notice the following OIDs in his script

For TCP (included the full tree to give it some context):

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

For 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

This link provides further information about working wiht SNMP

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文