在 Linux 服务器上,我尝试查找我的服务器知道的 MAC 地址。具体来说,是我所连接的交换机端口的 MAC 地址。
这可能吗?
更新:以下答案对我有帮助。我的交换机是托管交换机,但是由于主机上的 IP 地址设置为静态,交换机出于某种原因没有获取 MAC 地址。我将主机更改为 DCHP,这样我的交换机就可以在连接端口发送 DHCP 请求后正确获取 MAC 地址。这使我能够使用交换机 MAC 地址表来确定哪些主机连接到哪些端口,然后将主机重新设置为静态 IP。
答案1
如果你很幸运,你正在运行一个智能开关,它实际上会有MAC 地址。
在这种情况下,您可能可以使用 LLDP。lldpd
在 Linux 上安装,然后运行:
michael:~$ lldpctl
-------------------------------------------------------------------------------
LLDP neighbors:
-------------------------------------------------------------------------------
Interface: eth0, via: LLDP, RID: 1, Time: 5 days, 22:33:31
Chassis:
ChassisID: mac 28:a6:8e:03:57:9b
SysName: core-pri
SysDescr: Netgear Gigabit Smart Switch
MgmtIP: 10.0.0.38
Capability: Bridge, on
Port:
PortID: local g22
PortDescr: Not received
-------------------------------------------------------------------------------
答案2
交换机通常没有 MAC 地址;它们在低于 MAC 地址的级别工作(尽管它们知道连接到它们的设备的 MAC 地址是什么)。
答案3
这取决于您连接的是哪种交换机。
哑交换机(通常称为非管理型交换机,实际上是一个网桥)没有 MAC 地址,
管理型交换机(有时称为智能交换机)有 MAC 地址
如果交换机是托管交换机,并且您知道其 IP 地址,请在终端中运行以下命令。然后只需将 IP 与 MAC 地址匹配即可。
arp -a
如果您正在处理带有控制台端口的托管交换机,请使用控制台电缆连接并输入此命令(假设它是 Cisco 交换机):
show mac address-table
http://www.techexams.net/forums/ccna-ccent/45578-mac-address-switch.html https://learningnetwork.cisco.com/thread/9625