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

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

我有IP地址/主机名。

我怎样才能快速找到这个端口?

解决办法

答案取决于该交换机是[第二层还是第三层][1]交换机。 也就是说,交换机是只进行交换并将流量转送到不同的设备上进行路由,还是通过SVI(交换式虚拟接口)自己进行路由决策。

在第三层交换机上,可以通过在设备上使用一些简单的命令找到端口。 然而,在第二层交换机上,你必须登录到交换机和做路由的任何设备上才能找到这个端口。

在任何一种情况下,命令都是一样的,只是在二层交换机的两个不同的盒子上运行。


在一个三层交换机上。

  • 登录交换机并发出以下命令(其中ipaddress是你试图定位的主机的ip地址。

      show ip arp *ipaddress*
  • 输出结果应该与下面类似,并给出设备的MAC地址(我在下面用粗体字强调了MAC地址)。

      LYKINS-1861#show ip arp 172.20.1.100
      协议地址 年龄(最小) 硬件地址类型 接口
      互联网 172.20.1.100 0 **28cf.da1d.1b05** ARPA Vlan10
  • 现在发出以下命令之一(其中mac-address是上一步的硬件地址)。 根据思科平台的不同,有时该命令会以两种形式列出。

      show mac address-table address *mac-address*(显示mac地址表)。
      show mac-address-table address *mac-address*(显示mac-address表地址
  • 输出结果应该与下面类似,你要找的端口应该被列为目标端口。

      LYKINS-1861#show mac-address-table address 28cf.da1d.1b05
      目的地地址 地址类型 VLAN 目的地端口
      ------------------- ------------ ---- --------------------
      28cf.da1d.1b05 动态 10 **FastEthernet0/1/1**.

在二层交换机上。

  • 找出是什么设备在为这个交换机做路由(你可能要看一下网络文档)。有时它是一个"[Router on a Stick][2]",其中第二层的VLANs被中继到路由器上进行第三层的决定
评论(1)

首先,你需要得到MAC地址,所以进入同一VLAN的机器,查看它的邻居表--Windows是netsh int ipv4 show neigh,Linux:ip nei,Cisco:show ip arp x.x.x。一旦你有了这些...

如果这是在二层交换机上的发现工作,请执行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。

评论(1)

不管你的交换机是执行帧转发(第二层)还是包路由(第三层),如果交换机的管理IP地址与你要找的主机在同一个子网中,下面的方法应该是可行的。

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

评论(0)