如何查找连接到我的网络的设备列表(IP和MAC)


9

我正在尝试获取连接到我的Cisco(Catalyst 2960)交换机的设备的列表。最好通过SNMP。这是我已经完成的工作:

我能够从交换机中检索ARP表(通过SNMP 1.3.6.1.2.1.4.22.1.2在交换机上的OID )。但是,这并不反映IP的“活动”集,因为当设备离线时ARP不会更新。换句话说,当我重新启动设备并获得一个新的IP地址(动态)时,即使该IP当前不在网络上,我最终也会在ARP表中列出该旧IP地址。

我有什么办法可以通过交换机找到该“活动”列表,最好避免使用ARP表?

PS我无法连续ping设备以确定它们的状态,我正在非常低的带宽条件下工作。


有什么答案对您有帮助吗?如果是这样,您应该接受答案,这样问题就不会永远弹出来寻找答案。或者,您可以提供并接受自己的答案。
罗恩·莫平

Answers:


6

是否从交换机上的SVI(低带宽)对子网进行ping广播广播,并且show mac address-table dynamic无法使用?

some-switch#show mac address-table dynamic
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    000f.257b.ba3b    DYNAMIC     Gi1/0/49
   1    0011.254f.a5be    DYNAMIC     Gi1/0/49
  56    0000.0c57.aa00    DYNAMIC     Gi1/0/49
  56    0004.0ff4.8cf4    DYNAMIC     Gi1/0/49
  56    0004.0af4.c8fb    DYNAMIC     Gi1/0/5

此时,使用您的ARP表将mac-address映射到IP地址。

可以使用SNMP进行此操作,但是如果您需要知道每个mac-地址在哪个端口上,那会有些痛苦...使用dot1dTpFdbAddress来获取mac地址,dot1dBasePortIfIndex映射到接口ifIndex,然后再ifName映射ifIndex到您的名字会认出。


您能否在第一个解决方案上进行更多扩展?我怎样才能做到这一点?...此外,dot1dTpFdbAddress和dot1dBasePortIfIndex均未返回任何内容:/
AJ J.

1
我假设您知道如何从CLI显示mac-address表...关于ping,如果您的子网是172.16.1.0/24该子网的广播ping是ping 172.16.1.255...关于snmp,我说这很痛苦:-)。 ..确定要接受调查 snmpbulkwalk -v 2c -m BRIDGE-MIB -c <snmp-community>@<vlan> <host-address> dot1dTpFdbAddress吗?换句话说,如果您的社区是“ PUBLIC”,而您正在轮询Vlan 501,请使用社区“ PUBLIC @ 501”对BRIDGE-MIB进行投票
Mike Pennington

注意:任何受远程保护的设备都不会响应广播ping。
Ricky Beam

@RickyBeam,这就是为什么我说他需要在连接了SVI的交换机上执行此操作的原因……我也意识到Windows默认情况下不应答ping……所以总比没有好,但是公认不是100%解决方案...我们正在处理此问题中的一些次优约束
Mike Pennington 2013年

1
@AJJ。默认情况下,mac-address表具有五分钟的缓存时间,这些设备的断开连接是否少于五分钟?如果您需要实时信息,则需要检查ifOperStatus,这意味着我在答案中提到的复杂的MIB值映射练习。如果所有这些机器都使用DHCP,则可以按照下面GeneralNetworkError的建议考虑使用DHCP侦听
Mike Pennington

4

如果您只想使用动态地址来识别客户端,则可以同时为L3 IP和L2 MAC地址进行DHCP侦听。这用于安全性来阻止流氓DHCP服务器,并且仅允许使用提供和请求的有效DHCP地址(即,实际上正在使用)在交换端口上接收数据包。

为要监视的VLAN全局启用dhcp侦听

ip dhcp snooping vlan 10、20、30、40、50
没有ip dhcp监听信息选项
没有ip dhcp snooping验证mac地址
ip dhcp监听

请确保使用以下方法来识别在其后有DHCP服务器的受信任接口:

界面xy / z
 ip dhcp监听信任

IP-MAC地址的绑定表示例:

s-oc2-3h-s1#sh ip dhcp监听绑定
MacAddress IpAddress租借(秒)类型VLAN接口
------------------ --------------- ---------- ------- ------ ---- --------------------
B4:B5:2F:DB:85:C6 172.17.3.29 254427 dhcp监听30 FastEthernet1 / 0/30
3C:07:54:3F:91:CB 172.17.3.26 224542 DHCP监听30 FastEthernet2 / 0/42
6C:62:6D:77:95:1A 172.17.3.37 256986 DHCP监听30 FastEthernet1 / 0/17
B4:B5:2F:2D:27:37 172.17.3.22 149352 dhcp监听30 FastEthernet2 / 0/30
B4:B5:2F:DB:85:C2 172.17.3.18 207629 dhcp监听30 FastEthernet1 / 0/16
...

请参阅ciscoDhcpSnoopingMIB以获取对这些对象的SNMP访问。OID 1.3.6.1.4.1.9.9.380


1

如果IP是动态的,那么您应该具有dhcp日志以获取mac-ip对。然后使用SNMP,您可以尝试了解所拥有的设备类型。但请记住,您必须配置snmp并允许其在工作站中使用。如果您正在谈论Windows计算机,那么使用Powershell来获取有关工作站的信息会更容易。您也可以尝试使用nmap扫描整个子网并获取有关其居民的更多信息。


如何获取DHCP日志?
AJ J.

这取决于您的dhcp服务器供应商...
Romans Fomicevs

0

这可能会破坏您对带宽的要求,但是您可以使用snmp发现开关,例如“ the dude”。您需要适当地设置社区和私有VLAN,以使snmp流量返回到服务器。如果您对此解决方案感兴趣,我可以为您提供有关所需VLAN和SW设置的更多详细信息。


我认为“伙计”只是在您的帖子中修正了一些拼写错误:-)...当我从HTC发布帖子时,这在我身上经常发生...您是否在使用手机?
Mike Pennington
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.