版权声明:本文为博主-周列原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38232749/article/details/83858337
测试目的:了解RIP协议的工作原理,及使用wireshark进行报文分析
测试软件:华为ENSP、wireshark抓包工具
环境搭建:基于华为ENSP网络模拟软件搭建如下测试环境,使用抓包工具抓取R4路由器的GE0/0/1接口网络数据
一、ensp软件配置及数据查看:
1、进入系统视图模式,执行命令rip [process-id],已启动RIP进程 [默认进程ID为1]
2、通过network network-address 命令发布指定的网段
3、通过命令display rip [process-id]命令查看RIP当前运行状态
- “RIP process: 1” 表示RIP的进程编号为1 ;
- “RIP version : 1” 表示运行的是RIPv1 ;
- “Preference:100” 表示RIP的协议优先级的值为100 ;
- “Update time : 30 sec” :表示更新定时器的周期值为30秒;
- “Age time:180 sec” :表示无效定时器的周期值为180秒,也称为老化定时器;
- “Garbage-collect time :120 sec” : 表示垃圾收集定时器的初始值为120秒
4、使用display rip process-id route 查看R4路由器从其他路由器学习到的所有RIP路由信息
二、使用wireshark抓包工具抓包后进行分析
1、物理层的数据情况
- 该例Frame 1:-- 1号帧,接口0上传输66个字节,实际捕获66字节
- interface id:0 #接口id 0 ;
- Encapsulation type: Ethernet (1) #封装类型采用Ethernet (1);
- Arrival Time #捕获日期和时间;
- [Time shift for this packet: 0.000000000 seconds] #此数据包的偏移时间
- Epoch Time: 3140.331000000 seconds #周期时长
- [Time delta from previous captured frame: 0.025257000 seconds] #此包与前一包的捕获时间间隔;
- [Time delta from previous displayed frame: 0.000000000 seconds] #此包与前一个包的显示时间间隔;
- [Time since reference or first frame: 0.537138000 seconds] #此包与前一帧的时间间隔;
- Frame Number: 1 # 帧序号为1;
- Frame Length #帧长;
- Capture Length #捕获帧长;
- [Frame is marked: False] #此帧是否做了标记:否;
- [Frame is ignored: False] #此帧是否被忽略:否;
- [Protocols in frame: eth:ethertype:ip:udp:rip] #帧内封装的协议层次结构;
- [Coloring Rule Name: TTL low or unexpected] #着色标记的协议名称 ;
- [Coloring Rule String: --] #着色规则显示的字符串
2、数据链路层以太网头部信息
- Destination 目的MAC地址: ff::ff
- Source 源MAC地址: 54:89:98:be:27:ca
- Type 使用协议:0X0800 IPV4协议
3、网络层IP包信息
- Version: 4 #高四位展示版本 使用互联网协议IPv4
- Header Length: #低四位展示IP包头部长度,长度为20字节;指数据报协议头长度,表示协议头具有32位字长的数量。指向数据起点。正确协议头最小值为5。
- Differentiated Services Field: 0xc0 (DSCP: CS6, ECN: Not-ECT) : #差分服务字段
- Total Length:52 #IP包的总长度为52字节;指定整个 IP 数据包的字节长度,包括数据和协议头。其最大值为65,535字节
- Identification:0x0024(36) #标志字段;包含一个整数,用于识别当前数据报。该字段由发送端分配帮助接收端集中数据报分片。
- Flags: 0x00 #标记字段;由3位字段构成,其中最低位(MF)控制分片,存在下一个分片置为1,否则置0代表结束分片。中间位(DF)指出数据包是否可进行分片。第三位即最高位保留不使用,但是必须为0
- Fragment offset: 0 (0x0000) #分的偏移量为0;13位字段,指出与源数据报的起始端相关的分片数据位置,支持目标IP适当重建源数据报
- Time-to-Live:1 (0x01) #生存周期,是一种计数器,在丢弃数据报的每个点值依次减1直至减少为0。这样确保数据包无止境的环路过程(即TTL)
- Protocol: UDP (17) #此包内封装的上层协议为UDP;指出在 IP 处理过程完成之后,有哪种上层协议接收导入数据包
- Header checksum: 0xa9d0 [validation disabled] #头部数据检验和; 帮助确保 IP 协议头的完整性。由于某些协议头字段的改变,如生存期(Time to Live),这就需要对每个点重新计算和检验。Internet 协议头需要进行处理
- Source: 15.0.0.6 #源主机IP地址
- Destination: 255.255.255.255 #目标主机IP地址
- Source GeoIP #源IP的地理信息
- [Destination GeoIP: Unknown] #目标IP的地理信息
4、传输层的数据概况 (该例中传输层使用了UDP包)
- Source Port: 520 #源端口为520
- Destination Port: 520 #目的端口为520
- Length: 32 #UDP报文长度
- Checksum: 0x29ec [unverified] #UDP报文校验和
5、会话层数据概况 (该文使用RIP协议:Routing Information Protocol)
- Command: Response (2) #命令:1为RIP请求信息;2为RIP响应信息
- Version: RIPv1 (1) #版本:使用RIPv1版本
- Address Family: IP (2) #协议簇,该字段长度为4字节。对于TCP/IP协议簇,该字段的取值为2
- IP Address: 192.168.0.0 #路由项的目的网络地址
- Metric: 1 #跳数