当前位置:文档之家› ethereal使用以及IP协议解析

ethereal使用以及IP协议解析

1.主界面介绍
随着3G的普及,手机数据业务量(如浏览器,彩信等)的日益增长,对手机侧网络包的分析显得越来越重要。

一般来说,手机数据业务的抓包工具为QXDM,在抓LOG指导里面已经有了详细参数的配置介绍(详情见《IP数据包抓取方法.doc》)。

但需要注意的是,在将LOG转化为.pcap文件时,必须保证当前电脑里安装有Ethereal软件,否者PCAPGenerator这个工具不会出现。

(针对使用Tools->PCAPGenerator转化.isf文件出错的情况,可以做如下尝试:先使用Tools->ISF File Converter将刚刚保存的.isf文件其转化为.dlf文件,然后使用Tools->PCAPGenerator将.dlf 文件转换成.pcap文件)。

这里主要针对抓到IP包后,怎么样使用Ethereal软件对IP包进行分析,以及一些简单的TCP/IP协议介绍。

直接点击打开.pcap文件,可以看到如下图1所示界面。

图1
中间彩色的区域就是IP数据包。

从左到右,字段分别是No.,Time,Source,Destination,Protocol以及Info。

IP包是按照流经手机网卡的时间顺序排列的,NO.是标示抓到的IP包是该抓包文件中的第几个,Time则是计算的所有包与第一个包之间的间隔时间,单位毫秒ms。

Source和Destination字段分别表示IP包的源地址和目的地址。

Protocol显示当前IP包的上层协议,如TCP,UDP,如果应用层协议头也在该IP包中,优先显示应用层协议,如RTSP,HTTP等。

注意中间的彩色显示,不同的颜色代表该IP包中包含了不同内容,这是方便我们对IP 包查看。

如上面的大红色,表示的是该数据包损坏,可能是只有一半的内容,也可能是指在该包与其他包的序号不连续(指在协议层不连续),中间可能出现丢包的现象。

很多时候,Ethereal是用不同颜色来区分上层协议的不同(注意IP包中必须包含上层协议的包头,才能以该应用的颜色进行标示。

因为很多数据包比较大,是通过几个IP包进行传输的,那么就只有第一个包是以上层应用的颜色进行标示,后面的显示为协议层颜色)。

如下图2中,可以看到DNS是以淡蓝色标示,ICMP是以黑色标示,TCP的同步(SYN&FIN建立TCP连接的三次握手)以深灰色进行标示,而其它的TCP包则以浅灰色标示,HTTP协议使用绿色进
行标示等等。

图2
留意界面上的Filter框,这个是一个过滤器,可以在界面上过滤掉你不需要查看的包,只留下需要的东西。

图3
该过滤器可以通过协议字段进行过滤,只在界面上显示所有包中的符合过滤条件的数据包,如图3所示。

也可以通过Source,destination字段进行过滤(通常用在IP的杂收模式,因为只要流经网卡的包都会被杂收上来,这样就需要过滤源地址和目的地址为本机地址的数据包)。

当需要显示所有的数据包时,点击输入框右侧的Clear,就可以清除当前的过滤条件。

2.数据包协议分析界面
选定你想查看的数据包,然后看中间的协议分析栏,如图4所示。

图4
可以看到整个数据包被分为了几部分,Frame,Raw Packet data,Internet Protocol,Transmission control Protocol以及Hypertext Transfer Protocol。

其中Frame显示的是该包的一些信息,Arrival time为收到包的时间(009-5-13,需要注意的是这个时间是本地时间,即当前手机显示的时间),Frame Number是当前包在整个文件中位置(可以看出这是第13个包),Packet Length是协议中表示该包的长度(522bytes),而Capture Length是实际抓到的包的长度(与Packet Length相同,则表明抓包的时候数据没有丢失,否者认为是破损包,标示为大红色),Protocols in frame是包中包含的协议(这个包网络层协议是IP,传输层是TCP,应用层是HTTP),Coloring Rules指的是在主界面显示颜色是根据那一层协议显示的。

Raw Packet Data为空,按常理来说这个地方应该显示的是物理层协议的详细信息,例如使用Ethereal对电脑的网卡抓包的话,这个地方显示的为Ethernet,解析的是以太网层协议信息,如目的网卡和原网卡的MAC地址之类的物理层信息。

因为这里是抓的手机包,不太清楚为什么物理层协议这显示的是空的。

还需要跟踪继续对相应的协议进行分析。

Internet Protocol很明显可以看出这里就是对网络层——IP协议的解析。

对照图5,对解析出来的每个字段,分析IP层协议。

图5
Version标明当前使用的是IPv4的IP协议(现在使用的趋势是IPv6);Header length标明IP包头的长度(20bytes);Total Length整个IP包长度;Flags标示IP包是否分片(0x04不允许分片);Fragment offset分片偏移(没有偏移);Time to live该包在网络上的生存时长(还能进行64次转发);Protocol该IP包的传输层协议(0x06-tcp,0x11-UDP);Header checksum包头校验码,显示IP协议包头是否正确。

Source,Destination显示该IP包的源和目的IP地址。

在协议解析界面下方就是抓到包的十六进制文件显示窗。

在协议解析界面点击相应的字段,就可以在十六进制文件显示窗中看到相应的十六进制字符。

但注意有些字段占有的空间比较少,如只有一位或者两位,在十六进制字段窗口可能不能单独显示的。

如IP包头的首字节45,就代表了两个字段,分别是IP版本号4和IP包头长度20(5*4)。

Transmission control Protocol很明显可以看出这里就是对传输层——TCP协议的解析。

对照图6,对解析出来的每个字段,分析IP层协议。

Source Port,Destination Port显示该IP包的源和目的端口。

Sequence Number和Next Sequence Number是保证TCP流连续的关键字段,前一个包的Next Sequence Number应该和下一个包的Sequence Number一致,这样就可以知道网络中是否存在丢包,并确定需要重传的数据段。

Header length标明TCP包头的长度(32bytes)。

Window size 是TCP滑动窗
口协议中,窗口的大小。

Header checksum为包头校验码。

图6
Hypertext Transfer Protocol这里就是对应用层——HTTP(超文本)协议的解析,这里就
不再详述了。

对于TCP流可以通过右键点击打开对话框进行查看,如图7,图8所示。

图7
图8。

相关主题