Crazy knowledge base

IP数据包的分析

我们知道,使用 Ethereal 软件可以方便地帮助我们进行抓取网络中的数据包,具体怎样利用它分析一个特定的包呢?我在网上找了半天,发现相关的分析IP包的文章很少,在此,我将自己在学习使用该软件抓取IP包并分析的过程描述如下,供初学者入门之用,有分析不对的地方欢迎指正。最后附上简单介绍Ethereal使用方法文章,详细使用手册可以在网上查询。

要分析IP包,首先要知道IP包的包头格式,各种计算机网络的书籍都有介绍,必须了解该协议分析包才有意义,IPv4首部一般是20字节长,该协议如下:

下面使用Ethereal抓取一个特定的IP包,然后根据该协议分析该IP包。
使用Ethereal抓取的IP包如下:

我用不同的框框划分出来了,便于分析。
首先,开始的 6字节+ 6字节 + 2字节 不属于IP包包头本身。
(1)“ 00 e0 4c 5f 97 1b ” 目的主机的MAC地址
(2)“ 00 1a 4d 28 62 ff ” 源主机的MAC地址:
(3) “08 00 ”    包类型:  08 00 为 IP包
后面的开始为真正的IP包包头,可以根据上面的协议进行分析了。
(4)“45”,其中“4”是IP协议的版本(Version),说明是IP4
“5”指本IP包的包头长度为 5X4 = 20 字节
(5) “00”服务类型(Type of Service)
(6) “00 40”是IP数据报文总长,包含头部以及数据,这里表示4X16 = 64字节(注:00 40为16进制表示)
(7)  ” 62 06 “、” 40 00 ” 表示 认证、标志、段偏移:主要用于数据报的分段
(8)  ” 40″ 表示一个IP数据流的生命周期,用Ping显示的结果,能得到TTL的值,很多文章就说通过TTL位来判别主机类型。因为一般主机都有默认的TTL值,不同系统的默认值不一样.
(9) ” 06 ” 很重要,表示 传输层的协议类型(Protocol),06表示TCP协议
(10)”8b e5″ 为校验和
(11)”c0 a8 0c 34″ 源地址的IP   :  即 192.128.12.52
(12)”79 c2 06 2e”目的地址的IP:  即 121.194.6.46
后面接着的就是IP的数据内容了,IP包包头分析就到此为止,其实分析包头并不难,UDP、ARP包的分析可以按照本文的思路,按照协议 一 一分析即可。

引用:http://ticktick.blog.51cto.com/823160/203412

IP数据包的分析
滚动到顶部