使用wmi的snmp类查询计算机网卡信息的源代码,在java中使用SNMP和/或wmi / wmic进行进程到端口的映射...

我正在尝试使用SNMP来映射主机上的传出端口,并在负责该通信的计算机上运行该应用程序。

运行“netstat -ano”时,我可以访问协议,本地地址(带端口),外部地址(带端口),状态和PID。但我想完全做到这一点,而不必从Java执行“cmd”。

使用SNMP OID:.1.3.6.1.2.1.25.4(.iso.org.dod.internet.mgmt.mib-2.host.hrSWRun)

我可以访问PID(例如1704),Name(例如cmd.exe),Path(例如C: Windows system32)等。

有一个SNMP OID:.1.3.6.1.2.1.6.13(.iso.org.dod.internet.mgmt.mib-2.tcp.tcpConnTable)

这使您可以访问TCP连接状态,本地地址,本地端口,远程地址,远程端口。但没有PID。

所以总结一下。我的问题是:有没有办法将这些表“映射”在一起?是直接在SNMP中与其他OID一起使用还是与WMI / WMIC一起使用?

更新:我想要的是访问TcpConnectionEntry(tcpConnectionTable)中的tcpConnectionProcess。这来自RFC 4022。

tcpConnectionProcess有OID:.1.3.6.1.2.1.6.19.1.8(.iso.org.dod.internet.mgmt.mib-2.tcp.tcpConnectionTable.tcpConnectionEntry.tcpConnectionProcess)

奇怪的是我从OID获取值:.1.3.6.1.2.1.6.19.1.7(.iso.org.dod.internet.mgmt.mib-2.tcp.tcpConnectionTable.tcpConnectionEntry.tcpConnectionState)

这里的主要问题是在Windows中,此表为空。可能是我在Windows上安装方面缺乏知识,但任何帮助都会有很大的帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值