分享
 
 
 

CDP协议分析-sniffer应用系列

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

1.1CDP协议概述

CDP(Cisco Discovery PRotocol,Cisco设备发现协议)用于发现直连的CISCO设备相关信息。CDP利用直连的两个设备间定时发送hello信息(CDP数据包)维持邻居关系。

默认情况下,每隔60秒的时间,每个CISCO设备都要向互连的对方发送一个CDP数据包。假如经过3个hello周期(180秒,称为holdtime或TTL)还没有收到对方的CDP包,则本地设备在CDP邻居表中删除那个CDP邻居设备。

如图1所示,是在一台Cisco Catalyst 2924交换机上对CDP数据包的诊断输出信息。可以看到,交换机在每个活动接口发送CDP数据包。

图1 debug cdp packet

直连设备互相之间交换的CDP包中的内容主要包括:对端设备的名称、对端设备的性能(如交换机还是路由器)、对端设备的平台(型号)、对端设备的ip地址(或治理IP)等信息。

对于如图2所示的网络拓扑来说,可以分别在两个设备上使用相关的命令得到对端设备的有关信息。

图2网络拓扑

如图3所示,是在路由器R1上利用命令show cdp neighbors得到的CDP信息的输出。从中我们可以看出路由器R1的直连邻居设备Sw1的一些相关信息,包括:设备ID、保持时间、性能、平台、本地和对端的连接端口。

图3show cdp neighbors

使用命令show cdp neighbors detail,可以得到对端设备的更具体的信息。如图4所示。同样的命令也可以在交换机Sw1上执行。

点击查看大图

图4 show cdp neighbors detail

1.2CDP包结构

CDP包的结构如图5所示。

图5 CDP包结构

首先是以太网帧头,包括DLC头部、LLC头部、SNAP头部,接下来是长度不定的CDP字段。

其中,CDP帧中除了开始的3个部分:CDP版本(2)、TTL(180秒)、校验和外,其余的内容由若干个TLV项(Type类型、Length长度、Value值)组成。常见的TLV的定义如表1所示。

表1 CDP常见的TLV

点击查看大图

1.3CDP协议sniffer分析

1.3.1Catalyst WS-C2924-XL f0/17输出cdp包

图6是sniffer捕捉到到的Catalyst WS-C2924-XL f0/17输出cdp包头部。

点击查看大图

图6 CDP报文头部格式

从图中我们可以知道这是一个SNAP帧(其帧格式如图7所示)。

点击查看大图

图7 SNAP帧格式

在CDP头部中,应该注重到以下一些重要信息:

●CDP采用的是多播目标MAC地址:01-00-0C-CC-CC-CC(用于CDP和VTP)

●DLC后面所跟的802.3帧的总长度为372字节,是指除了DLC头之外的所有内容的长度

●SNAP中的前3字节表示OUI ID,这里是00-00-0C代表厂商Cisco

●SNAP中的后2字节表示此帧承载的协议类型,0x2000表示是CDP协议

图8显示了此包中的CDP输出部分(第1部分)。

图8 CDP部分(第1部分)

其中,应该注重到以下一些重要信息:

●当前采用的CDP的版本是CDP2.0

●保持时间(TTL)为180秒

●校验和:2字节

随后是若干个TLV字段,它们分别是:

●TLV1(其内容是TLV的组合)

■T(2字节):0x0001(设备名称):

■L(2字节):7(T、L、V加在一起的总长度):

■V(3字节):Sw1(主机名称)

●TLV2

■T(2字节):0x0002(IP地址)

■L(2字节):17(T、L、V加在一起的总长度)

■V(13字节):

◆包内地址数(4字节):1

◆协议类型(1字节):1=NLPID

◆协议长度(1字节):1

◆协议值(1字节):0xCC=IP

◆地址长度(2字节):4

◆治理IP地址(4字节):192.168.0.130

●TLV3

■T(2字节):0x0003(端口号)

■L(2字节):20(T、L、V加在一起的总长度)

■V(16字节):端口="FastEthernet0/24"

图9显示了此包中的CDP输出部分(第2部分)。

点击查看大图

图9 CDP部分(第2部分)

其中,主要有以下一些TLV字段,它们分别是:

●TLV4

■T(2字节):0x0004(性能)

■L(2字节):8(T、L、V加在一起的总长度)

■V(4字节):

◆Capabilities flag(2字节):未用

◆Capabilities flags(2字节):

●0:不提供1层功能(不是中继器)

●0:网桥/交换机不转发IGMP报告包(不支持/使能IGMP)

●0:设备在进行路由协议(不是一个主机)

●1:执行2层交换(是个交换机)

●0:不执行2层源路由桥接

●1:执行(运行)2层透明网桥

●0:不执行3层路由

●TLV5

■T(2字节):0x0005(版本信息)

■L(2字节):226(T、L、V加在一起的总长度)

■V(222字节):版本信息"Cisco Internetwork Operating System Software .IOS (tm) C2900XL Software (C2900XL-C3H2S-M), Version 12.0(5)WC9a, RELEASE SOFTWARE (fc1).Copyright (c) 1983-7004 by cisco systems, Inc..Compiled Tue 13-Jan-04 11:54 by antonino"(实际上是在该设备上执行命令show version的输出信息)。

●TLV6

■T(2字节):0x0006(设备平台、型号)

■L(2字节):21(T、L、V加在一起的总长度)

■V(17字节):设备型号:cisco WS-C2924-XL

图10显示了此包中的CDP输出部分(第2部分)。

点击查看大图

图10 CDP部分(第3部分)

其中,主要有以下一些TLV字段,它们分别是:

●TLV8

■T(2字节):0x0008(交换机簇治理)

■L(2字节):36(T、L、V加在一起的总长度)

■V(32字节):

◆厂商代码:00-00-0c(cisco)

◆协议ID:0x0112(交换机簇治理)

◆交换机簇治理IP:0.0.0.0

◆交换机MAC地址:00-04-28-d2-09-00

◆治理Vlan:1

◆… …

●TLV9

■T(2字节):0x0009(VTP 治理域)

■L(2字节):14(T、L、V加在一起的总长度)

■V(10字节):VTP 治理域名:chinaitlab

●TLV10

■T(2字节):0x000a(本征Vlan)

■L(2字节):6(T、L、V加在一起的总长度)

■V(2字节):本征Vlan:1(可以通过int vlan 2、ip add xxx改变)

●TLV11

■T(2字节):0x000b(双工方式)

■L(2字节):5(T、L、V加在一起的总长度)

■V(1字节):双工方式:1=全双工

1.3.2Cisco 2500 e0输出cdp包

图11是sniffer捕捉到到的Cisco 2500 e0输出cdp包中的CDP部分(第1部分)。

图11 CDP部分(第1部分)

其中,应该注重到以下一些重要信息:

●当前采用的CDP的版本是CDP2.0

●保持时间(TTL)为180秒

●校验和:2字节

随后是若干个TLV字段,它们分别是:

●TLV1

■T(2字节):0x0001(设备名称)

■L(2字节):6(T、L、V加在一起的总长度)

■V(2字节):R1(主机名称)

●TLV2

■T(2字节):0x0002(IP地址)

■L(2字节):17(T、L、V加在一起的总长度):2字节

■V(13字节):

◆包内地址数(4字节):1

◆协议类型(1字节):1=NLPID

◆协议长度(1字节):1

◆协议值(1字节):0xCC=IP

◆地址长度(2字节):4

IP地址(4字节):10.0.0.1

●TLV3

■T(2字节):0x0003(端口号)

■L(2字节):13(T、L、V加在一起的总长度)

■V(9字节):端口="Ethernet0"

图12显示了此包中的CDP输出部分(第2部分)。

点击查看大图

图12 CDP部分(第2部分)

其中,主要有以下一些TLV字段,它们分别是:

●TLV4

■T(2字节):0x0004(性能)

■L(2字节):8(T、L、V加在一起的总长度)

■V(4字节):

◆Capabilities flag(2字节):未用

◆Capabilities flags(2字节):

●0:不提供1层功能

●0:网桥/交换机不转发IGMP报告包

●0:设备在路由协议

●0:不执行2层交换

●0:不执行2层源路由桥接

●0:不执行(运行)2层透明网桥

●1:(为至少一个网络协议)执行3层路由功能

●TLV5

■T(2字节):0x0005(版本信息)

■L(2字节):215(T、L、V加在一起的总长度)

■V(211字节):版本信息"Cisco Internetwork Operating System Software .IOS (tm) 2500 Software (C2500-JK8OS-L), Version 12.2(1d), RELEASE SOFTWARE (fc1).Copyright (c) 1983-7002 by cisco Systems, Inc..Compiled Sun 03-Feb-02 22:01 by srani"(实际上是在该设备上执行命令show version的输出信息)。

●TLV6

■T(2字节):0x0006(设备平台、型号)

■L(2字节):14(T、L、V加在一起的总长度)

■V(3字节):设备型号:cisco 2500

图13显示了此包中的CDP输出部分(第3部分)。

点击查看大图

图13 CDP部分(第部分)

其中,主要有以下一些TLV字段,它们分别是:

●TLV7

■T(2字节):0x000B(双工方式)

■L(2字节):5(T、L、V加在一起的总长度)

■V(1字节):双工方式:0=半双工

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有