任何标准协议来查找连接到交换机的所有系统的MAC地址和可能的主机名

我有一个复合实验室和中间交换机中的服务器和存储arrays。 我想获得连接到每个交换机的系统的所有MAC地址的列表。 它应该是开关供应商独立的,如没有CDP和所有。 而且还独立于IP! 有什么build议么?

没有用于以供应商中立的方式确定第2层拓扑的标准协议。 ARP用于在同一广播域中的三层地址(IP)和二层地址(MAC)之间进行映射,但不能查询连接到networking的所有东西的MAC地址。 交换机可能通过SNMP公开这些数据,但不是必需的。 可以在段上监视MAC地址的stream量,但并不是要求它们都出现在段上,以使它们存在于2层广播域中。

你可以ping通子网广播地址,并检查你的ARP表(它们都答复后将包含每个回答的主机的条目),但是请记住并不是所有的主机都会回复ping到子网广播的东西。 这也不会给你哪个交换节点连接,但这是因为交换机应该是透明的,以太网不携带或需要这种元数据。

大多数pipe理型交换机都会提供一些方法来查看他们的MAC表,这些表通常包含端口信息,通过SNMP(更稀有)或CLI(通用)。

Netdisco可能会让你closures – 主要使用SNMP来从交换机获取mac和arp信息,并让你把MAC与IP结合起来并与主机名查找结合起来,给你一些通常能够匹配主机名到MAC的东西,他们连接到开关。 如果交换机支持它,也可以使用供应商特定的协议来发现连接的交换机的拓扑结构。

我已经使用了不同程度的成功,因为有时数据可能会变得陈旧,拒绝更新。