如何连接SNMP设备的机器IP和Mac。
ARP缓存未提供正确的详细信息。
答案 0 :(得分:0)
Linux shell命令示例(撰写本文时未标记其他语言或Windows)
提供您要查询的计算机确实运行了SNMP守护程序(通常在Linux下从Net-SNMP嗅探到SNMP),并且您知道如何/可以与之交谈(版本1、2c或3,带有各种社区名称或v3的用户名/密码/编码),您可以发出以下SNMP请求:
为了进行测试,我在主地址为192.168.174.128的CentOS 7虚拟机上启动了snmpd。
我选择端口1610而不是传统的161,以便不进行sudo或setcap(snmpd)。 snmpd.conf文件的内容不在此问题的范围内。
第一个IP地址
snmptable -v 2c -c private 192.168.174.128:1610 ipAddrTable
SNMP table: IP-MIB::ipAddrTable
ipAdEntAddr ipAdEntIfIndex ipAdEntNetMask ipAdEntBcastAddr ipAdEntReasmMaxSize
127.0.0.1 1 255.0.0.0 0 ?
192.168.122.1 3 255.255.255.0 1 ?
192.168.174.128 2 255.255.255.0 1 ?
MAC的第二个命令(仅打印3列)
snmptable -v 2c -c private 192.168.174.128:1610 ifTable | awk -c '{print $1 "\t" $2 "\t\t" $6}'
SNMP table:
ifIndex ifDescr ifPhysAddress
1 lo up
2 ens33 0:c:29:53:aa:c6
3 virbr0 52:54:0:e6:6b:2f
4 virbr0-nic 52:54:0:e6:6b:2f
在CentOS 7下检查时,我们得到
ifconfig
ens33: ... mtu 1500
inet 192.168.174.128 netmask 255.255.255.0 broadcast 192.168.174.255
inet6 ...
ether 00:0c:29:53:aa:c6 netmask 255.0.0.0
...
lo: ... mtu 65536
inet 127.0.0.1
...
virbr0: ... mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:e6:6b:2f ...
...
奖金shell命令:
snmptranslate -Oaf IF-MIB::ifTable
.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable
和
snmptranslate -Oaf IP-MIB::ipAddrTable
.iso.org.dod.internet.mgmt.mib-2.ip.ipAddrTable
我不知道为什么/如果有一个包含这两个信息的表。