一、实验名称
分析IP报文结构
二、实验目的
1. 掌握使用Wireshark分析俘获trace文件的基本技能;
2. 深刻理解IP报文结构和工作原理。
三、实验内容和要求
1. 分析俘获的分组;
2. 分析IP报文结构。
3. 记录每一字段的值,分析它的作用
四、实验环境
1.运行Windows10操作系统的PC一台
2.PC通过WLAN连接校园网;或者具有适合的踪迹文件
3.每台PC运行程序协议分析仪WireShark
五、操作方法和实验具体步骤(需截图)
1. 分析俘获的分组。
打开踪迹文件,用鼠标点选感兴趣的帧,在这里我选中第76号帧,右键点击选中,如图1所示
图1
然后就会出现如图2所示的界面。可见,系统已经自动用其源地址作为过滤条件,从众多分组中过滤出与58.60.10.52有关分组了。
图2
有时为了清晰起见,需要屏蔽掉较高层协议的细节,可以点击“分析”->“启用的协议”
打开“已启用的协议”窗口,若去除选择TCP,则将屏蔽TCP相关的信息。
2. 分析IP报文结构。
将计算机联入网络,打开Wireshark俘获分组,从本机向选定的Web服务器发送 Ping报文。选中其中一条Ping 报文,在这里我选择169号帧,如图3所示,该帧中的协议结构是:Ethernet: IP: TCP: data。
图3
为了进一步分析IP数据报结构,点击首部细节信息栏中的”Internet Protocol Version 4”行,有关信息展开如图4所示。
图4
IP首部20字节字段为45 00 00 28 e2 98 40 00 31 06 71 19 27 6a e2 8e c0 a8 2b 7d
下面来简单分析一下各字段的含义:
版本:0x4 表示协议IP的版本,这里指IPv4
首部长度:0x5 表示IP首部长度为5个32位字长(一个32位字长是4个字节),也就是20字节
区分服务:0x00 表示不使用区分服务(一般情况下都不用)
总长度:0x00 28 表示首部和数据之和的长度,这里是40字节
标识:0xe2 98 用来使具有相同标识字段的值分片后的各数据报片最后能正确地重装成为原来的数据报
标志:010. 现在只有后面两位有意义,最后一位MF=0表示这已是若干数据报片中的最后一个(MF=1表示后面还有分片的数据报),中间位DF=1表示不能分片(只有当DF=0时才允许分片)
片偏移:...0 0000 0000 0000 片偏移指出:较长的分组在分片后,某片在原分组中的相对位置,这里因为没有分片,所以片偏移为0
生存时间:0x31 生存时间字段常用的英文缩写是TTL,表示数据报在网络中的寿命,路由器在每次转发数据报时就把TTL的值减一,当TTL减到0时就会被路由器丢弃,这里该数据报在网络中最多有49跳
协议:0x06 表示此数据报携带的数据使用何种协议,这里查表知是TCP协议
首部检验和:0x71 19 只检验数据报首部,但不包括数据部分
源地址:27 6a e2 8e 发送IP数据报的主机的IP地址
目的地址:c0 a8 2b 7d 接收IP数据报的主机的IP地址
回答下列问题:
(1) 你使用的计算机的IP地址是什么?
192.168.43.125
(2) 在IP数据报首部,较高层协议字段中的值是什么?
6(TCP)
(3) IP首部有多少字节?载荷字段有多少字节?
首部有20字节;荷载字段有40字节
(4) 该IP数据报分段了没有?如何判断该IP数据报有没有分段?
没有分段;看片偏移量,如果是0,就没有分段
(5) 关于高层协议有哪些有用信息?
通过高层协议可以看到正在做什么,是请求还是回应,还是传递信息等
六、实验心得体会(或者所遇疑难问题解决方案)
通过这次实验,我又接触到了Wireshark的一个功能,选择一个源地址作为过滤条件,从众多分组中过滤出与该源地址有关的分组,掌握了用Wireshark分析俘获踪迹文件的基本技能。
深入分析了IP首部各字段的含义,对IP数据报的格式有了更加深刻的理解。