是否可以使用 LLDP 和 SNMP 检索交换机 mac 地址?

Is it possible to retrieve the Switch mac address using LLDP and SNMP?

为了发现不包含路由器的全互连交换网络的拓扑结构,并根据它们物理连接到的交换机将网络划分为一些 VLAN,我需要首先检测两个节点是否是物理连接到同一个交换机。

因为交换机不会改写以太网帧,也不会在遍历帧上留下自己的签名,所以我需要使用LLDP,因为没有其他可靠的手段(当然还有一些特殊的配置要做在交换机上以避免遍历 LLDP 帧)。

因此,每个交换机首先应该广播LLDP帧,存储在进程的MIB中。

我的问题:是否可以(从连接到交换机 A 的机器 A1)使用 SNMP 知道连接到机器 Xn 的交换机的 MAC 地址?

是的,是的。 使用 SNMP 和 LLDP 可以映射整个网络。 但是,这需要网络中的所有设备和交换机都支持 SNMP 和 LLDP,并启用它。 非托管交换机通常不支持此功能。

可能来不及给你答案了。 chassis id tlv 通常会给你 MAC 地址。机箱 ID 的 oid 是 1.0.8802.1.1.2.1.3.2.0。你可以 运行 这个命令: snmpwalk -c public -v 2c switch_ip 1.0.8802.1.1.2.1.3.2.0