思科交换机如何根据MAC地址查所在交换机的端口

步骤 、端口号和MAC地址互查

  1. 1、查看MAC地址表

    show mac address-table

           通过这条命令就可看到存储在当前交换机中的MAC地址表,里边记录了交换机目前学习到的所有主机MAC地址与交换机端口的映射关系,二层数据正是通过查找这种映射关系发送到目的主机的,下边的MAC和端口的互查命令其实就是根据已知的端口或MAC地址从这张表中筛选得到我们需要的映射关系信息。

           如我们以一台Cisco 2960交换机为例,输入命令 sh mac address-table 即可看到它维护的MAC地址表,里边记录了对应的端口和MAC地址的映射关系,如下图所示:

    思科交换机端口号、终端IP地址和MAC地址的互查

  2. 2

           这里需要说明一下,这里记录的MAC地址有两种类型,一种是STATIC即静态的, 另一种是DYNAMIC即动态的, 静态的MAC地址一般为交换机自身端口或硬件接口的地址,而动态MAC地址一般为用户终端的MAC地址,注意这里的动态不是表示MAC地址是变化的,通常每台终端设备的MAC都是固定且唯一的,除非你换了网卡或搞了其它不可描述事情,这里的动态MAC是指这个MAC是交换机通过学习获得的,是由交换机动态维护的MAC地址。

  3. 3

    2、根据终端设备MAC地址查对端交换机端口

    1)、show mac address-table dynamic address

           这里 为你要查的终端设备的MAC地址。

           通常如果你已经知道终端设备的MAC地址(一般可以通过以上两种方法轻松获取,这是最基本的信息,除非终端崩掉),而且知道了他连到哪台交换机,但是不知道终端设备连到交换机的哪个端口上,这时可以使用这条命令来查看。

           如这里我已经通过上述方法获得了本机的MAC地址为 50-9A-4C-57-4C-42,已知它连到了本楼层的用户交换机上,我就可以先远程登录这台交换机,然后通过命令 sh mac address-table dynamic address 50-9A-4C-57-4C-42 就可以查到其对端的交换机端口号,如下图所示,该设备连接到的端口号以及端口所属VLAN均可以看到,可以看到其对应交换机端口号为 g1/0/45

    思科交换机端口号、终端IP地址和MAC地址的互查

  4. 4

    注:MAC地址的输入格式为XX-XX-XX-XX-XX-XX,每两个字符要用 - 分开,不同厂商的的MAC地址格式不同,比如华三的是要4个一组用 - 隔开,即XXXX-XXXX-XXXX。

    注:MAC地址输入一般不区分大小写。

  5. 5

    2)、show mac address-table | include

           这里的 可以是MAC地址或MAC地址的一部分。

           如果你觉得输入全部MAC太麻烦,则可以借助管道符号只输入MAC中的一部分关键字做模糊查询,我一般输后四位,一般搜出来的都是唯一的,当然设备多的话也有重复的可能性,不过还是挺方便的。同样我们来用这种方法来查一下本机对应的交换机端口,我们以MAC地址的后四位作为关键字,用命令 sh mac address-table | include 4c42 查找匹配项,可以看到得到的信息跟上边相同。

    思科交换机端口号、终端IP地址和MAC地址的互查

  6. 6

    注:这里使用管道符号进行筛选,其中关键字的格式必须与MAC地址表中信息的格式一致,负责无法进行筛选,因为管道符号本质上是从MAC地址表里直接过滤寻找匹配项,如你要用8位的MAC作为关键字,则输入关键字的格式必须为 xxxx.xxxx,与MAC表中MAC地址记录的格式一样,不能为xx-xx-xx-xx-xx-xx这样。

  7. 7

    3、根据交换机端口查对端设备MAC地址

    1)、show mac address-table interface

            这里int-type为端口类型,int-number为端口号。

            反之,如果我们已知交换机某个端口号或想知道某个端口连接的终端端设备的MAC地址,则可以通过这条命令来查看指定端口对应的终端设备的MAC地址,当然前提是对端有设备,如果都没连设备,那就什么都查不到咯。

            同样如果我想知道楼层用户交换机的 g1/0/45 端口连到哪台终端设备,我就可以远程登录该用户交换机,通过命令 sh mac address-table dynamic interface int g1/0/45 就可以查到其对端设备的MAC地址,如下图所示,可以看到MAC地址为 50-9A-4C-57-4C-42,当然就是我自己的电脑了。

简单回顾一下几条命令:

查看MAC地址表:

       show mac address-table

根据MAC查端口:

       show mac address-table dynamic address

       show mac address-table | include

根据端口查MAC:

       show mac address-table interface

       show mac address-table | include

查看ARP缓存表:

       IOS:show arp

       NX-OS:show ip arp

根据MAC查IP:

       IOS:show arp | include

       NX-OS:show ip arp | include

根据IP查MAC:

       IOS:show arp | include

       NX-OS:show ip arp | include

但是在4507中执行"Cisco4507#show arp | include 10.1.1.2"和"Cisco4507#sh mac address-table dynamic | include 0060.160a.b5a3"两条命令后,并没有任何结果显示,如下所示:

 

 
  1. Cisco4507#sh arp | include 10.1.1.2   
  2. Cisco4507#   
  3. Cisco4507#sh mac address-table dynamic | include 0060.160a.b5a3  
  4. Cisco4507#  
  5.  

从上面的输出中可以看出,在4507的ARP表和CAM表中并没有包含"10.1.1.2"和"0060.1601.b5a3"的表项。若是在这两个表中包含某一参数的话,一般会得到和下面格式一致的输出结果:

 

 
  1. Cisco4507#sh arp | include 192.168.2.1  
  2.     Protocol  Address      Age (min)  Hardware Addr   Type   Interface  
  3.     Internet  192.168.2.14     0     131d.920d.1a32   ARPA    Vlan2  
  4.     Internet  192.168.2.1      0     1613.7868.4a9d   ARPA    Vlan2  
  5. Cisco4507#sh mac address-table dynamic | include 1223.8916.1227  
  6.    vlan   mac address     type       protocols           port  
  7.     200  1223.8916.1227  dynamic        ip       GigabitEthernet3/1   
  1. 根据终端设备MAC地址查对端交换机端口

    1)、show mac address-table dynamic address <mac-address>

           这里 <mac-address> 为你要查的终端设备的MAC地址。

           通常如果你已经知道终端设备的MAC地址(一般可以通过以上两种方法轻松获取,这是最基本的信息,除非终端崩掉),而且知道了他连到哪台交换机,但是不知道终端设备连到交换机的哪个端口上,这时可以使用这条命令来查看。

           如这里我已经通过上述方法获得了本机的MAC地址为 50-9A-4C-57-4C-42,已知它连到了本楼层的用户交换机上,我就可以先远程登录这台交换机,然后通过命令 sh mac address-table dynamic address 50-9A-4C-57-4C-42 就可以查到其对端的交换机端口号,如下图所示,该设备连接到的端口号以及端口所属VLAN均可以看到,可以看到其对应交换机端口号为 g1/0/45

    思科交换机端口号、终端IP地址和MAC地址的互查

  2. 4

    注:MAC地址的输入格式为XX-XX-XX-XX-XX-XX,每两个字符要用 - 分开,不同厂商的的MAC地址格式不同,比如华三的是要4个一组用 - 隔开,即XXXX-XXXX-XXXX。

    注:MAC地址输入一般不区分大小写。

  3. 5

    2)、show mac address-table | include <key-word>

           这里的 <key-word> 可以是MAC地址或MAC地址的一部分。

           如果你觉得输入全部MAC太麻烦,则可以借助管道符号只输入MAC中的一部分关键字做模糊查询,我一般输后四位,一般搜出来的都是唯一的,当然设备多的话也有重复的可能性,不过还是挺方便的。同样我们来用这种方法来查一下本机对应的交换机端口,我们以MAC地址的后四位作为关键字,用命令 sh mac address-table | include 4c42 查找匹配项,可以看到得到的信息跟上边相同。

sh mac address-table dynamic address 50-7b-9e-da-9f-e6

根据Mac地址查询IP的对应交换机端口号为 Gi 1/0/45

相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页