Я пытаюсь использовать SNMP для сопоставления исходящих портов на моем хост-компьютере с приложением, запущенным на компьютере, который отвечает за эту связь.
При запуске "netstat -ano" я получаю доступ к протоколу, локальному адресу (с портом), внешнему адресу (с портом), состоянию и PID. Но я хочу сделать это полностью без необходимости выполнять «cmd» из Java.
При использовании OID SNMP: .1.3.6.1.2.1.25.4 (.iso.org.dod.internet.mgmt.mib-2.host.hrSWRun)
Я получаю доступ к PID (например, 1704), имени (например, cmd.exe), пути (например, C: \ Windows \ system32) среди других.
Существует OID SNMP: .1.3.6.1.2.1.6.13 (.iso.org.dod.internet.mgmt.mib-2.tcp.tcpConnTable)
которые дают вам доступ к состоянию соединения TCP, локальному адресу, локальному порту, удаленному адресу, удаленному порту. Но НЕТ ПИД.
Итак, подведем итоги. Мой вопрос еще раз: есть ли способ «сопоставить» эти таблицы вместе? Или непосредственно в SNMP с другими OID или в сочетании с WMI / WMIC?
ОБНОВЛЕНИЕ: я хочу получить доступ к tcpConnectionProcess в TcpConnectionEntry (tcpConnectionTable). Это из 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, но любая помощь будет отличной помощью.