在仿真平台上抓取报文或者分析网络,基本步骤为:

  • 建立网络拓扑结构
  • 配置网络参数
  • 模拟网络操作,抓取报文(比如想抓HTTP报文,那就打开浏览器访问网页服务器),分析网络

先建立网络拓扑结构:
单区域OSPF配置如下图所示:
使用Cisco Packet Tracer抓取OSPF协议报文
对R1配置如下:
R1(config)#interface gig0/0
R1(config-if)#ip address 172.16.2.1 255.255.255.252
R1(config-if)#no shutdown
R1(config-if) #exit
R1(config)#interface gig0/2
R1(config-if)#ip address 172.16.1.1 255.255.255.252
R1(config-if) #no shutdown
R1(config-if)#exit
R1(config)#interface gig0/1
R1(config-if)#ip address192.168.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if) #exit
R1(config)#router ospf 1
R1(config-router) #network 172.16.1.0 0.0.0.3 area0
R1(config-router) #network 172.16.2.0 0.0.0.3 area 0
R1(config-router) #network 192.168.1.0 0.0.0.255 area 0

对R2配置如下:
R2(config)#interface gig0/0
R2(config-if)#ip address 172.16.3.1 255.255.255.252
R2(config-if)#no shutdown
R2(config-if) #exit
R2(config)#interface gig0/2
R2(config-if)#ip address 172.16.2.2 255.255.255.252
R2(config-if) #no shutdown
R2(config-if)#exit
R2(config)#interface gig0/1
R2(config-if)#ip address192.168.2.1 255.255.255.0
R2(config-if)#no shutdown
R2(config-if) #exit
R2(config)#router ospf 1
R2(config-router) #network 172.16.1.0 0.0.0.3 area0
R2(config-router) #network 172.16.2.0 0.0.0.3 area 0
R2(config-router) #network 192.168.1.0 0.0.0.255 area 0

对R3配置如下
R3(config)#interface gig0/0
R3(config-if)#ip address 172.16.3.2 255.255.255.252
R3(config-if)#no shutdown
R3(config-if) #exit
R3(config)#interface gig0/2
R3(config-if)#ip address 172.16.1.2 255.255.255.252
R3(config-if) #no shutdown
R3(config-if)#exit
R3(config)#interface gig0/1
R3(config-if)#ip address192.168.3.1 255.255.255.0
R3(config-if)#no shutdown
R3(config-if) #exit
R3(config)#router ospf 1
R3(config-router) #network 172.16.1.0 0.0.0.3 area0
R3(config-router) #network 172.16.3.0 0.0.0.3 area 0
R3(config-router) #network 192.168.3.0 0.0.0.255 area 0

以R1为例查看路由器的路由表信息:
R1#show ip route
使用Cisco Packet Tracer抓取OSPF协议报文
从上述查询结果可以看出,R1的路由表中有3条直连路由和3条OSPF路由。其中172.16.1.0/30网段、172.16.2.0/30网段和192.168.1.0/24网段是三条直连路由,172.16.3.0/30网段、192.168.2.0/24网段和192.168.3.0/24网段是通过OSPF进程产生的OSPF路由。

下面进行仿真过程运行:
使用Cisco Packet Tracer抓取OSPF协议报文
部分数据包如下:
使用Cisco Packet Tracer抓取OSPF协议报文
首先 router1的报文格式如下
IP部分

使用Cisco Packet Tracer抓取OSPF协议报文

OSPF hello报文
使用Cisco Packet Tracer抓取OSPF协议报文

运行后过程:
1.Router1 组播形式发送hello报文

使用Cisco Packet Tracer抓取OSPF协议报文

使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文
报文内容大致如下
该设备在千兆以太网0/2上多播一个OSPF Hello包。
该设备将数据封装到IP包中。
设备在数据包上设置TTL。
目标IP地址是广播或多播地址。设备将目标地址设置为下一个跃点

下一跳IP地址是多播。ARP过程将帧的目的MAC地址设置为多播MAC地址。
PDU封装在以太网帧中。

Gig0/2端口将帧发送出去

Router3收到router1的hello报文
使用Cisco Packet Tracer抓取OSPF协议报文

使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文
Gig0/2端口收到帧

帧的目标MAC地址与接收端口的MAC地址、广播地址或多播地址相匹配。
设备将PDU从以太网帧中拆下封装

设备在CEF表中查找目标IP地址。
CEF表有一个设备接收此数据包的条目。设备将数据包发送到上层。
设备接收OSPF数据包。
OSPF包是一个Hello包。
Hello包来自一个现有的邻居。设备重置此邻居的计时器。

Router1 通过端口gig0/1 继续发送hello包
使用Cisco Packet Tracer抓取OSPF协议报文

使用Cisco Packet Tracer抓取OSPF协议报文

PC1收到router1 的hello包
使用Cisco Packet Tracer抓取OSPF协议报文

使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文使用Cisco Packet Tracer抓取OSPF协议报文

目标IP不是广播地址,它与端口的IP地址不匹配。设备丢弃数据包。

其他路由器过程基本同router1
使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文

重复此过程

使用Cisco Packet Tracer抓取OSPF协议报文

下面讲一下数据包中出现的CDP
使用Cisco Packet Tracer抓取OSPF协议报文

CDP(思科发现协议)

  • CDP是Cisco Discovery Protocol的缩写,它是由思科公司推出的一种私有的二层网络协议,它能够运行在大部分的思科设备上面。通过运行CDP协议,思科设备能够在与它们直连的设备之间分享有关操作系统软件版本,以及IP地址,硬件平台等相关信息。
  • 思科发现协议(Cisco DiscoveryProtocol,CDP)是一个处于OSI七层模型中数据链路层的协议。CDP 用来获取相邻设备的协议地址及发现这些设备的平台,可为路由器的使用提供相关接口信息,是一种独立媒体协议。它运行在所有思科制造的设备上,包括路由器、交换机或其它网络设备,因为它是思科的私有协议,所以那些非思科的设备不能使用CDP协议。
  • CDP协议工作在数据链路层,是cisco私有的一种协议,并且和传输介质和与协议无关。只要物理层和数据链路层正常,CDP就可以正常工作。运行在包括的所有Cisco生产的设备: 路由器 、网桥 、接入服务器、交换机。可以通过CDP协议来发现直接相连的cisco设备的信息。在默认情况下,cisco设备启用CDP协议,并周期性60s发送CDP通告给直接相连的cisco设备。使用组播MAC地址01:00:0C:CC:CC:CC.
    使用Cisco Packet Tracer抓取OSPF协议报文

报文格式如下
使用Cisco Packet Tracer抓取OSPF协议报文

Router1
使用Cisco Packet Tracer抓取OSPF协议报文

使用Cisco Packet Tracer抓取OSPF协议报文

CDP过程构造一个CDP框架并将其发送出去。
PDU封装在以太网帧中。
使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文
三个端口都会发

Router2收到Router1发送的CDP
使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文
1.帧的目标MAC地址与接收端口的MAC地址、广播地址或多播地址相匹配。
2.设备将PDU从以太网帧中拆下封装。
3.框架是CDP框架。CDP过程处理它。
4.CDP进程接收到一个邻居设备ID。
5.CDP进程接收到地址TLV。
6.CDP进程接收到一个邻居端口ID。
7.CDP进程接收到邻居能力。
8.CDP进程接收到邻居版本。
9.CDP进程接收到一个邻居平台。
10.邻居已经在表里了。CDP过程重置保持计时器。

PC1收到Router1的CDP
使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文

1.帧的目标MAC地址与接收端口的MAC地址、广播地址或多播地址相匹配。
2.设备没有接受此帧的服务。丢弃该帧

Router3收到router1的CDP
使用Cisco Packet Tracer抓取OSPF协议报文

使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文

值得注意的是,通过仿真过程抓取的ospf数据包得到的结论与ospf原理相吻合:

使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文
发现:
(周期性60s发送CDP通告给直接相连的cisco设备)

使用Cisco Packet Tracer抓取OSPF协议报文
使用Cisco Packet Tracer抓取OSPF协议报文
路由器周期性(默认为10s)向邻居路由器的接口发送hello报文,用来建立和维护相邻路由器之间的链接关系。

大家可以自己动手试一试,毕竟“纸上得来终觉浅”嘛,我是初学者,如果有问题,欢迎大家批评指正。

相关文章:

  • 2021-04-17
  • 2021-04-13
  • 2021-05-06
  • 2021-07-18
  • 2021-11-22
  • 2022-12-23
  • 2021-09-27
猜你喜欢
  • 2021-06-17
  • 2021-07-11
  • 2021-09-20
  • 2021-07-22
相关资源
相似解决方案