如何在 Cisco Catalyst 交换机上根据 IP 查找设备连接的端口

网络工程 思科 cisco催化剂 cisco-ios-12 cisco-3750 故障排除
2021-07-10 14:02:03

在 Cisco Catalyst 交换机上,我需要找到终端设备连接到的端口。

我有 IP 地址/主机名。

如何快速找到端口?

4个回答

答案取决于交换机是第 2 层交换机还是第 3 层交换机。也就是说,交换机是仅将流量交换和中继到不同的设备以进行路由,还是通过 SVI(交换虚拟接口)自行做出路由决策。

在第 3 层交换机上,可以通过在设备上使用一些简单的命令来找到端口。但是,在第 2 层交换机上,您必须同时登录交换机和正在执行路由的任何设备才能找到端口。

在任何一种情况下,命令都是相同的,只是在第 2 层交换机的两个不同框上运行。


在第 3 层交换机上:

  • 登录交换机并发出以下命令(其中ipaddress是您尝试定位的主机的 IP 地址:

    show ip arp *ipaddress*
    
  • 输出应该与下面类似,并为您提供设备的 mac 地址(我在下面以粗体突出显示了 mac 地址)。

    LYKINS-1861#show ip arp 172.20.1.100
    Protocol  Address          Age (min)  Hardware Addr   Type   Interface
    Internet  172.20.1.100            0   **28cf.da1d.1b05**  ARPA   Vlan10
    
  • 现在发出以下命令之一(其中mac-address是上一步中的硬件地址)。根据 Cisco 平台的不同,有时该命令以任一形式列出。

    show mac address-table address *mac-address*
    show mac-address-table address *mac-address*
    
  • 输出应与下图类似,您要查找的端口应列为目标端口:

    LYKINS-1861#show mac-address-table address 28cf.da1d.1b05
    Destination Address  Address Type  VLAN  Destination Port
    -------------------  ------------  ----  --------------------
    28cf.da1d.1b05          Dynamic      10     **FastEthernet0/1/1**
    

在二层交换机上:

  • 找出正在为此交换机进行路由的设备(您可能需要查看网络文档)。有时它是一个“棒状路由器”,其中第 2 层 VLAN 被中继到路由器以用于第 3 层决策。

  • 登录路由设备,并发出以下命令(其中ipaddress是您尝试定位的主机的 IP 地址:

    show ip arp *ipaddress*
    
  • 输出应该与下面类似,并为您提供设备的 mac 地址(下面以粗体列出)。

    LYKINS-1861#show ip arp 172.20.1.100
    Protocol  Address          Age (min)  Hardware Addr   Type   Interface
    Internet  172.20.1.100            0   **28cf.da1d.1b05**  ARPA   Vlan10
    
  • 现在登录到第 2 层交换机

  • 在该设备上发出以下命令之一(其中mac-address是上一步中的硬件地址)。根据 Cisco 平台的不同,有时该命令以任一形式列出。

    show mac address-table address *mac-address*
    show mac-address-table address *mac-address*
    
  • 输出应与下图类似,您要查找的端口应列为目标端口:

    LYKINS-1861#show mac-address-table address 28cf.da1d.1b05
    Destination Address  Address Type  VLAN  Destination Port
    -------------------  ------------  ----  --------------------
    28cf.da1d.1b05          Dynamic      10     **FastEthernet0/1/1**
    

首先,你需要得到MAC地址,所以进入一台机器上同一个VLAN中,并看一下它的邻居表-的Windows是netsh int ipv4 show neigh,Linux的:ip nei思科:show ip arp x.x.x.x一旦你有了那个...

如果这是第 2 层交换机上的发现作业,请执行show mac address-table | i 0011.2233.4455- 根据需要替换 mac 地址字节。

另一方面,如果它是路由器,请使用show ip arp | i 0011.2233.4455- 再次根据需要替换 MAC。显然,当您获得 MAC 时,如果结果证明它直接连接到该路由器,那么您就已经完成了。

然而,从长远来看,我衷心建议您为您的主机设置 LLDP(失败,CDP),以便您可以从任何一方识别它们。lldpd是一个绝对优秀的 Linux 的 LLDP 守护进程,它也支持 CDP、EDP、SONMP 和 FDP。如果您当前能够访问主机并且它确实运行了 linux/BSD,我建议您跳过上面的内容并只打开 LLDP。

无论您的交换机是执行帧转发(第 2 层)还是数据包路由(第 3 层),如果交换机的管理 IP 地址与您要查找的主机位于同一子网中,则以下操作都应该起作用:

  1. 在交换机上,ping 要查找的 IP 地址。如果该地址与交换机的管理地址在同一子网上,则会发送 ARP 请求以查找主机的 MAC 地址。
  2. 现在你可以查看ARP缓存,找到你要找的主机的MAC地址(show ip arp)及其对应的接口。
  3. 您还可以通过发出以下命令来查找其 MAC 地址表条目: show mac-address table address [the address]

迅速地?

  1. Telnet 或 SSH 进入 Cisco 交换机。
  2. 类型terminal monitor; 按回车键。
  3. 通过操作系统从相关端点拔下电缆或关闭 NIC

00:00:47: %LINK-3-UPDOWN: Interface GigabitEthernet2/0/1, changed state to down

请注意,如果您从正在拔出的端点连接到交换机,您将不会收到系统日志消息,因为您将切断连接。