查找服务器对应交换机端口

本文介绍了一种在不中断网络的情况下快速查找服务器所在交换机端口的方法,利用CDP协议和tcpdump工具实现。适用于新入职工程师面对混乱网络环境时的问题解决。

Netkiller Cisco IOS 手札

netkiller Neo Chan

2009-12-12

版权 © 2009, 2010, 2011 Neo Chan

版权声明

转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。

 

文档出处: http://netkiller.sourceforge.net/ | http://netkiller.github.com

文档最近一次更新于 Tue Nov 29 11:45:42 UTC 2011


 

Java代码   收藏代码
  1. 当你空降到一家新公司,一般情况下都是,工作一团乱麻,前任迫不及待的等待工作交接或者工作转移,  
Java代码   收藏代码
  1. 等着你去救火,如果工作井然有序,公司也不能去招聘新人。  
Java代码   收藏代码
  1. 所有当你看到一团乱麻的网络与服务器,束手无策,你想重新整理,又不能影响现有业务。  
Java代码   收藏代码
  1. 怎样快速寻找交换机端口对应的服务器。我使用过很多方法(不能中断网络,所有不能使用寻线设备),开始show arp  
Java代码   收藏代码
  1. show mac地址表,寻找对应关系,比较麻烦。  
Java代码   收藏代码
  1. 后来想到CDP协议,采用tcpdump 抓包,可以快速看到服务器插在那个交换机端口上。  
Java代码   收藏代码
  1. $ sudo tcpdump -nn -v -i eth0 -s 1500 -c 1 'ether[20:2] == 0x2000'  
  2. [sudo] password for neo:  
  3. tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 1500 bytes  
  4. 13:51:31.825893 CDPv2, ttl: 180s, checksum: 692 (unverified), length 375  
  5.         Device-ID (0x01), length: 7 bytes: '4A3750G'  
  6.         Version String (0x05), length: 182 bytes:  
  7.           Cisco IOS Software, C3750 Software (C3750-IPBASE-M), Version 12.2(35)SE5, RELEASE SOFTWARE (fc1)  
  8.           Copyright (c) 1986-2007 by Cisco Systems, Inc.  
  9.           Compiled Thu 19-Jul-07 19:15 by nachen  
  10.         Platform (0x06), length: 23 bytes: 'cisco WS-C3750G-24TS-1U'  
  11.         Address (0x02), length: 13 bytes: IPv4 (1193.168.0.254  
  12.         Port-ID (0x03), length: 21 bytes: 'GigabitEthernet1/0/15'  
  13.         Capability (0x04), length: 4 bytes: (0x00000029): Router, L2 Switch, IGMP snooping  
  14.         Protocol-Hello option (0x08), length: 32 bytes:  
  15.         VTP Management Domain (0x09), length: 3 bytes: 'xiu'  
  16.         Native VLAN ID (0x0a), length: 2 bytes: 11  
  17.         Duplex (0x0b), length: 1 byte: full  
  18.         AVVID trust bitmap (0x12), length: 1 byte0x00  
  19.         AVVID untrusted ports CoS (0x13), length: 1 byte0x00  
  20.         Management Addresses (0x16), length: 13 bytes: IPv4 (1193.168.0.254  
  21.         unknown field type (0x1a), length: 12 bytes:  
  22.           0x0000:  0000 0001 0000 0000 ffff ffff  
  23. 1 packets captured  
  24. 1 packets received by filter  
  25. 0 packets dropped by kernel  
Java代码   收藏代码
  1. <span style="line-height: 19px;">$ sudo tcpdump -nn -v -i eth0 -s 1500 -c 1 'ether[20:2] == 0x2000' | grep GigabitEthernet  
  2. [sudo] password for neo:  
  3. tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 1500 bytes  
  4.         Port-ID (0x03), length: 21 bytes: 'GigabitEthernet1/0/15'  
  5. 1 packets captured  
  6. 1 packets received by filter  
  7. 0 packets dropped by kernel</span><span style="font-family: Simsun; font-size: small;"><span style="line-height: 19px;">  
  8. </span></span>  

运行命令后显示

Java代码   收藏代码
  1. <span style="line-height: 19px;">Port-ID (0x03), length: 21 bytes: 'GigabitEthernet1/0/15'</span>  

 这个就是交换机对应的端口

 

 

在每个服务器上创建一个脚本port.sh

tcpdump -nn -v -i eth0 -s 1500 -c 1 'ether[20:2] == 0x2000' | grep GigabitEthernet

 

然后批量执行

 

for ip in {23..32} {49,50,53,54} {81..92} {121..127}; do rsh remote@10.10.0.$ip port.sh & done &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值