如何找到我连接的交换机的 MAC 地址?

Dam*_*man 19 networking linux

在 linux 服务器上,我试图找到我的服务器知道的 MAC 地址。特别是我连接到的交换机端口的 MAC 地址。

这可能吗?

更新:以下答案对我有所帮助。我的交换机是管理型交换机,但是由于我主机上的 IP 地址设置为静态,交换机由于某种原因没有获取 MAC 地址。我将主机更改为 DCHP,这允许我的交换机在发送 DHCP 请求后正确获取连接端口上的 MAC 地址。这使我可以使用交换机 MAC 地址表来确定哪些主机连接到哪些端口,然后我将主机放回静态 IP。

Mik*_*eyB 17

如果幸运的话,你正在运行一个智能交换机,它实际上会有一个 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
-------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

  • 再说一次,如果你很幸运,交换机实际上会*运行 lldp。 (2认同)

Ign*_*ams 10

交换机一般没有MAC地址;它们在低于它们的级别工作(尽管它们确实知道连接到它们的设备的 MAC 地址是什么)。

  • 所有管理型交换机都有 MAC 地址,有时每个 VLAN 一个或每个端口一个;澄清您的意思是非托管交换机可能是个好主意。 (6认同)

spu*_*der 9

这取决于您连接的交换机类型。

哑交换机(通常称为非托管交换机,实际上是网桥)没有 MAC 地址
托管交换机(有时称为智能交换机)将有 MAC 地址

如果交换机是托管交换机,并且您知道其 IP 地址,请在终端中运行以下命令。然后它只是将 IP 与 MAC 地址匹配。

arp -a
Run Code Online (Sandbox Code Playgroud)

如果您正在处理带有控制台端口的管理型交换机,请使用控制台电缆连接并输入以下命令(假设它是 Cisco 交换机):

show mac address-table
Run Code Online (Sandbox Code Playgroud)

http://www.techexams.net/forums/ccna-ccent/45578-mac-address-switch.html https://learningnetwork.cisco.com/thread/9625

  • 几个问题: 哑交换机很少被称为网桥(尽管它们就是这样做的);我建议只称它们为非托管交换机。arp 命令只有在 1. 它的管理 IP 在同一个 VLAN 上,并且 2. PC 最近联系过它时才会起作用。 (4认同)