由于墙上插座通常总是连接到交换机上的同一端口,因此我希望能够知道在特定位置连接了哪个设备。就我而言,我指的是打印机。我有代码可以通过网络找到所有打印机的 IP 地址,但我希望能够根据打印机因维护或维修而从某个位置移出的情况来更新服务器。有没有确定端口连接的方法?
答案1
要手动执行此操作,您可以使用 arp 获取 MAC 到 IP 的映射,然后使用交换机的 MAC(或桥接)表获取端口到 MAC 的映射。将两个表放在一起,您就会得到 IP 到端口的映射。将其与您的 IP->打印机列表进行比较,即可得到打印机及其所用端口的列表。
下面是一个我可以稍微作弊的例子,因为它是一个 L3 交换机 - 我可以从同一设备执行 arp 和 mac 步骤。假设我想找到 172.19.1.6 所在的端口:
tc-3750-1#sh arp | inc 172.19.1.6
Internet 172.19.1.6 6 0013.7269.075d ARPA Vlan2
Internet 172.19.1.68 23 0026.b931.ce28 ARPA Vlan2
tc-3750-1#sh mac-
tc-3750-1#sh mac-address-table | inc 0013.7269.075d
2 0013.7269.075d STATIC Gi2/0/3
瞧,172.19.1.6 在端口 g2/0/3 上。这是 IOS,我认为在戴尔交换机中,MAC 步骤是“显示桥接”或类似的东西。当您拥有多交换机 L2 网络时,这会变得更加困难,但原理是一样的。
我没有丰富的经验,但听起来你可能想玩一下像 NetDisco 这样的东西,它提供了你要求的东西,还有诸如变更控制之类的东西(据我所知,你可以,例如,跟踪 MAC 在多个设备上随时间连接的端口)
答案2
如果它是托管交换机,您应该能够使用 SNMP 查看交换机上物理端口的状态(如果您是这个意思)。更简单的方法是定期 ping ip。
答案3
你可以使用像 nedi 这样的应用程序来帮助你记录网络拓扑