分析IP协议数据包格式

目的

(1)掌握IP协议的作用和格式;

(2)理解IP数据包首部各字段的含义;

(3)掌握IP数据包首部校验和的计算方法。

工具

(1)软件工具:抓包分析工具(wireshark);

(2)操作系统:Windows7 Dos ; 

(3)局域网环境。

原理

(1)IP协议位于网络层,是TCP/IP协议簇中的核心协议,提供数据传输 的最基本服务,是实现网络互联的基本协议。


(2)IP数据报格式如下:


(3)校验和算法

IP校验和主要是用来保证数据(IP报头)的完整性的。它用的算法非常简单, 就是反码求和校验。需要注意的是反码求和又叫1的补码(one'scomplement), 而2的补码就是我们通常说的补码求和了。校验算法具体如下。

  ①发送方

   1)将校验和字段置为0,然后将IP包头按16比特分成多个单元,如包头长度 不是16比特的倍数,则用0比特填充到16比特的倍数;

   2)对各个单元采用反码加法运算(即高位溢出位会加到低位,通常的补码运算 是直接丢掉溢出的高位),将得到的和的反码填入校验和字段;

     3)发送数据包。

  ②接收方

   1)将IP包头按16比特分成多个单元,如包头长度不是16比特的倍数,则用 0比特填充到16比特的倍数;

   2)对各个单元采用反码加法运算,检查得到的和是否符合是全1(有的实现可 能对得到的和会取反码,然后判断最终值是不是全0);

(4)对IP首部检验和的算法如下:

1)把IP数据包的校验和字段置为0;

  2)把首部看成以16位为单位的数字组成,依次进行二进制求和(注意:求和 时应将最高位的进位保存,所以加法应采用32位加法);

  3)将上述加法过程中产生的进位(最高位的进位)加到低16位(采用32位加 法时,即为将高16位与低16位相加,之后还要把该次加法最高位产生的 进位加到低16位)

  4)将上述的和取反,即得到校验和。


操作

(1)打开抓包工具软件(Wireshark),选择菜单命令“Capture”“Interfaces…”子菜单项。弹出“Wireshark: Capture Interfaces”对话框。选择网络接口,单击“Start”按钮开始网络数据包捕获。


(2)浏览外部网站,确保协议分析软件能够捕获足够的网络数据包,单击“Stop”按钮,中断网络协议分析软件的捕获进程,主界面显示捕获到的数据包。


几乎所有的高层协议都使用IP协议进行网络传输,只有ARP和RARP报文不被封装在IP数据报中。

(3)观察协议树区中IP数据包各个字段的长度与值,是否符合IP报文格式。


IP源:112.237.231.93,目标:223.202.6.27

Version(版本):一个4字节的字段。IPv4。

报头长度:一个8字节的字段,上图为20字节

总长度:一个16字节的字段,表示整个数据包的长度。包括数据和报头。

在上图中该值为518。

(4)查看各个IP数据包的标识字段和片偏移字段,它们有何特征。

标识字段:不确定

片偏移字段:都为零

(5)查看各个IP数据包的数据报总长度字段,记录它的取值范围。

60 328 53 71 40 158 1480 192 52 63

(6)观察十六进制对照区,根据IP首部校验和方法使用“计算器”校验捕获的数据报中校验和字段的值。


对如图十六进制数据求反码校验和:0x4500,0x0206,0x04f3,0x4000,0x8006,

0xb5ce,0x70ed,0xe75d,0xdfca,0x061b

相加总和:3ffed


总结:

通过wireshark软件的使用加深对此的了解(报头长度,版本,总长度)。通过浏览网页产生大量数据包。应该多捕捉多一些包,并去了解每个字段的含义。


----说明----这是自己计算机网络实验课制作的,哈哈



  • 10
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值