ネットワーク内のすべてのSNMP対応デバイスを見つける方法は?


10

ネットワーク内のすべてのSNMP対応デバイスを検索したいのですが、エージェントとマネージャーのアーキテクチャーでどのように機能するかを知りました。

net-snmpライブラリを取得して、リモートデバイスからsnmpデータを取得する簡単なアプリケーションを作成しました。これを行うためのプログラムを作成する必要があります。デバイスのMACアドレスとその他の情報が必要です。

リモートノードからデータを取得するプログラムを取得しましたが、システムのMACアドレスを取得する方法と、デバイスのMACを取得するためのOIDは何ですか?

ベンダー固有ではない一般的なOIDはありますか?すべてのデバイスのデータを取得する必要があります。

いくつかの更新:

今、snmpツールを使用してsnmpwalk情報を取得していますが、その中にシステム情報、mac、osの名前がある場合はそれらが必要ですが、net-snmpを使用してこれらの情報を取得する方法名前が来る。私はプログラムを書きたいし、いくつかの必要な情報を取得しなければならないので、oidが必要です。このoidをnet-Snmpの関数に渡して、対応する結果を得る必要があります。

システム名を取得するには、sysNameのような文字列名を使用する必要があります。その場合、MACアドレスの場合は「ifPhysAddress.2」と記述され、次にMACが記述されます(snmpwalkの結果)。すべてのデバイスで異なるため、Macを入手してください。

snmpwalkを使用しているとき、次のように1行表示されます

SNMPv2-SMI :: mib-2.25.3.2.1.3.1 = STRING:「HP LaserJet Professional P1606dn」

これはプリンタの名前です。つまり、このoidはプリンタの名前を取得するためのものです(mib-2.25.3.2.1.3.1)。これはすべてのデバイスに当てはまりますか?このOIDにクエリを実行すると、対応するIPのデバイス名を取得できます。

親切に、いくつかのアイデアを与えてください。

ありがとう

回答:


9

あなたはNmapsnmp-bruteのようなものを使うことができます

nmap -sU -p161 --script snmp-brute --script-args snmplist=community.lst 192.168.1.0/24

2

多くの監視アプリケーションには、検出したすべてのデバイスのSNMPをクエリできるネットワーク検出ツールが含まれます。いくつかはあなたが複数のSNMPコミュニティ文字列を入力することさえ可能にし、それらのそれぞれを試します。


2

以下は、OpenNMSで使用するスクリプトで、snmp対応デバイスとそれぞれのコミュニティを含むXMLファイルを生成します。

IPアドレスと複数のコミュニティ名を入力ファイルとして受け入れます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.