2012-04-18 26 views
2

我在編程一個SNMP管理器。 SNMP管理器應該做的第一步是發現它可以在網絡中管理的設備,對吧?什麼是最好/最簡單的方法來做到這一點?如何使用C/C++自動檢測snmp設備?

從我的閱讀中,有一種方法是ping一個範圍內的每個IP地址,然後發送一個基本的SNMP查詢到那些響應ping的IP地址。我們如何確定要ping的IP地址範圍?

這是另一個: 「snmp發現過程僅使用調查方法,基於連接到互聯網絡的設備提供的SNMP MIBII信息,該過程向所有識別MIBII請求的設備發出請求,收集IPADDTABLE,IPROUTETABLE和ARPTABLE主機表,從而構建IP拓撲結構。「

請告知關於發現snmp設備的步驟。謝謝。

+1

使用像http://net-snmp.sourceforge.net/這樣的snmp庫參見http://stackoverflow.com/q/249062/79455 – rve 2012-04-18 12:09:26

回答

1

使用Nmap用下面的命令:

nmap 192.168.1.0/24 -A -sU -p U:161 

,將返回所有設備與192.168.1.0/24網絡上運行的SNMP服務。當然,您需要用您的實際網絡地址替換192.168.1.0/24。 Nmap還具有-oX參數,該參數將控制檯輸出寫入XML文件。