5

SNMP を使用して、スイッチの各ポートに接続されているデバイスの MAC アドレスを取得するにはどうすればよいですか? HP ProCurve スイッチを使用しています。

OID dot1dTpFdbPort を使用してみましたが、スイッチに接続されているだけでなく、スイッチと通信しているすべてのデバイスの MAC アドレスが表示されているようです。

リスト内のポート 1 ~ 48 を提供する OID と、ポートごとに、そのポートに接続されているデバイスの MAC (または IP アドレス) を見つけようとしています。

ありがとう!

4

5 に答える 5

1

あなたはほとんどそこにいました:) dot1dTpFdbPortはまさにあなたが探しているものです.必要なのは実際のポートインデックスへのリンクだけです.

まず、dot1dTpFdbPort で指定された値を取得します。

次に、以前に取得した値で dot1dBasePortIfIndex をクエリします。

例を挙げてみましょう:

snmpwalk -v 2c -c xxx 192.168.x.x 1.3.6.1.2.1.17.4.3.1.1

SNMPv2-SMI::mib-2.17.4.3.1.1.0.2.253.255.213.15 = Hex-STRING: XX XX XX XX XX XX

snmpwalk -v 2c -c xxx 192.168.x.x 1.3.6.1.2.1.17.4.3.1.2

SNMPv2-SMI::mib-2.17.4.3.1.2.0.2.253.255.213.15 = INTEGER: 22

# Notice the 22 :)

snmpwalk -v 2c -c xxx 192.168.x.x 1.3.6.1.2.1.17.1.4.1.2.22

SNMPv2-SMI::mib-2.17.1.4.1.2.22 = INTEGER: 10122
于 2012-09-03T12:54:05.690 に答える
0

ここでは、 Netsnmp のsnmptable方が読みやすいかもしれません。

dot1dTpFdbテーブル検索の例:

snmptable  -M +.  -m +ALL -v 2c -c public  -Ci  192.168.x.x    BRIDGE-MIB::dot1dTpFdbTable
   index dot1dTpFdbAddress dot1dTpFdbPort dot1dTpFdbStatus
'..?...'   98:4B:E1:3B:7F:B4           13          learned
// other rows snipped for brevity

dot1dBasePortテーブル検索の例:

snmptable  -M +.  -m +ALL -v 2c -c public  -Ci  192.168.x.x   BRIDGE-MIB::dot1dBasePortTable
 index dot1dBasePort dot1dBasePortIfIndex    dot1dBasePortCircuit dot1dBasePortDelayExceededDiscards dot1dBasePortMtuExceededDiscards
    13            13                10113 SNMPv2-SMI::zeroDotZero                                  0                                0
// other rows snipped for brevity
于 2015-01-14T12:17:12.897 に答える
0

MACアドレスをHEXで直接取得するには、これを試してください:

snmpwalk -OX -v 2c -c public xxx.xxx.xxx.xxx 1.3.6.1.2.1.17.4.3.1.2 
于 2015-01-14T11:24:26.237 に答える