码迷,mamicode.com
首页 > 其他好文 > 详细

使用网络监视器(IRSI)捕捉和分析协议数据包

时间:2014-08-01 16:13:52      阅读:371      评论:0      收藏:0      [点我收藏+]

标签:数据抓包   icmp   arp   三次握手   网络监视器irsi   

转载请注明原地址。


实验名称:  理解子网掩码、网关和ARP协议的作用                        

 一、实验目的和要求

(1) 熟悉IRIS的使用

(2) 验证各种协议数据包格式

(3) 学会捕捉并分析各种数据包。

二、主要仪器设备

环境: Windows XP 

软件:IRIS软件

三、实验内容及过程

主机1:192.168.2.110(监听方)

主机2:192.168.2.109(被监听方)

(1) 安装IRIS软件

bubuko.com,布布扣

(2) 捕捉数据包,验证数据帧、IP数据报、TCP数据段的报文格式。

选择菜单 查看à地址簿中添加主机1和主机IP地址。

bubuko.com,布布扣

设置过滤器

bubuko.com,布布扣

在开始捕获数据包之前,先用arp –d清除一下arp缓存表。

bubuko.com,布布扣

点击开始捕获,开启抓包功能。

bubuko.com,布布扣

选择菜单 过滤器à编辑过滤器,设置过滤设置,更改完成后点击确定。

bubuko.com,布布扣

选择菜单 过滤器àftp.flt

bubuko.com,布布扣

从主机1登陆到主机2的ftp(主机2中安装了ftp服务器)

bubuko.com,布布扣

停止抓包,抓包结果图。

bubuko.com,布布扣

以上就是捕捉数据包的过程。接下来是验证数据帧、IP数据报和TCP数据段的报文格式。

我们选择序号4的数据包作为验证,分别查看它在MAC层、IP层和TCP层的数据头部信息。



验证数据帧格式

bubuko.com,布布扣

其中00 24 1D 09 28 6B是监听方主机的MAC地址

bubuko.com,布布扣

00 24 1D AE 10 45是被监听方主机的MAC地址

bubuko.com,布布扣

08 00则是类型字段,表示它上层使用的是IP数据报。

 

验证IP数据报格式

bubuko.com,布布扣

bubuko.com,布布扣

由以上两图我们可以知道:

版本4表示IPV4,占4位bubuko.com,布布扣

首部长度为5是由于这个单位是32位,所以这个IP数据报首部长度为20个字节bubuko.com,布布扣

区分服务00占一个字节bubuko.com,布布扣,4表示版本,5表示首部长度

总长度00 43占两个字节bubuko.com,布布扣,标识6C 49占两个字节bubuko.com,布布扣

标志+片偏移40 00占两个字节bubuko.com,布布扣

生存时间128跳bubuko.com,布布扣

向上提供的协议是TCPbubuko.com,布布扣

首部检验和是840bubuko.com,布布扣

源地址是192.168.2.109,目的地址是192.168.2.110bubuko.com,布布扣


验证TCP数据段的报文格式

bubuko.com,布布扣
bubuko.com,布布扣

源端口00 15 转化为十进制刚好是21,是ftp默认的端口bubuko.com,布布扣

目的端口是0E 93占两个字节bubuko.com,布布扣

序号21 7B 54 6C各占4个字节bubuko.com,布布扣

确认号5A 1D 33 21占4个字节bubuko.com,布布扣

首部长度为5bubuko.com,布布扣,片偏移为18,bubuko.com,布布扣

其中ACK、PSH各占一位bubuko.com,布布扣

首部检验和是7CC1,占两个字节bubuko.com,布布扣


(3) 捕捉并分析ARP报文。

在主机1运行arp –d命令,然后在菜单过滤器à编辑过滤器中设置捕获ARP协议,并且设置捕获A机和B机之间的IP地址数据包,接着点击“开始/停止捕捉”,开始抓包。

bubuko.com,布布扣

先运行arp –d命令,再运行ping 192.168.2.109命令

捕捉到的ARP报文

bubuko.com,布布扣

分析

首先,我们在主机1上运行了arp -d的命令后,主机1上的arp缓存表被清空,当我们用ping 192.168.2.109命令时,由于主机1和主机2在同一个网段,且主机1没有主机2的MAC地址,所以,它会以广播形式发送ARP请求报文,在ARP请求报文中包含了源IP地址和目的IP地址,在同一网段的主机2收到报文并发现目标IP地址与自己的地址一样,则它向主机1发回ARP响应报文,并把自己物理地址封装在响应报文上,从而使主机1获得主机2的MAC地址。



(4) 捕捉并分析ping过程中的ICMP报文。

在主机2用arp –d命令清除arp缓存表

点击“开始/停止捕捉”,开始抓包

编辑过滤器,设置如下

bubuko.com,布布扣

在主机1上ping主机2的ip地址

bubuko.com,布布扣

停止抓包


下图就是捕捉ping过程中的ICMP报文

bubuko.com,布布扣

分析

从上图可以看出,我们用命令ping 192.168.2.109,回车后ping命令便会向目的主机2发一个ICMP请求ECHO报文,因为主机2正常工作而且响应这个ICMP回送请求报文,所以它就发回ICMP回送回答报文(序号1、2可以看出)。由于主机1一连发出4个ICMP回送请求报文,作为正常工作且可达的主机2也相应做出4个应答,发回4个ICMP回送回答报文,所以在抓包界面中有8个ECHO报文。在抓包界面的第一行(序号1)中的数据报包含3个信息,分别是以太网、IP和ICMP。



bubuko.com,布布扣

以太网头信息,它的内容是00 24 1D AE 10 45 00 24 1D 09 28 6B 08 00

前6个字节00 24 1D AE 10 45是目的主机2的MAC地址

bubuko.com,布布扣

后6个字节00 24 1D 09 28 6B是源主机1的MAC地址

bubuko.com,布布扣

最后两个字节08 00代表包的类型是DOD IP

bubuko.com,布布扣

IP头信息,它的内容是

45 00 00 3C 1D BE 00 00 80 01 96 D7 C0 A8 02 6E C0 A8 02 6D

它表示IP的版本是4,首部长度是5,总长度60字节,标识7614

生存时间128跳,向上提供的协议是ICMP,首部检验和是9607

源地址是192.168.2.110,目的地址是192.168.2.109


ICMP头信息

bubuko.com,布布扣

其中开头的08表示类型,00表示代码,15 5C表示检验和,34 00表示序号,剩下的为数据。


(5) 捕捉并分析tracert过程中的ICMP报文。

更改过滤器设置

bubuko.com,布布扣

开始捕捉数据包,以下就是捕捉到的结果。

bubuko.com,布布扣

分析:

由上图可知,tracert命令依靠ICMP协议来实现的,数据报从路由器发出之后,每经过一个路由器,便会在该数据报的选项字段中加入该路由器的地址信息,当这条信息到达目的主机的时候,便会生成一条新的ICMP数据报,这个数据报记录了刚才所经过的路由信息,返回给源主机,这样源主机就知道了刚才所经过的路由信息。由上图表明,由于主机1和主机2在同一个网段,所以不用经过路由器,因此当我们用tracert命令去追踪时,只显示主机2的IP地址。


(6) 捕捉并分析TCP三次握手建立连接的过程。

测试例子:将主机2的一个文件通过ftp下载到主机1中

 

设置过滤器,并且选择过滤器àftp.flt

bubuko.com,布布扣

主机1先运行arp –d命令,然后点击“开始/停止捕捉”

将ftp服务器上的随意一个文件夹下载到主机1中

 

捕捉结果

bubuko.com,布布扣

分析

其中序号1、2、3为建立连接时的3次握手

第一次握手

ACK 00 00 00 00

bubuko.com,布布扣

SEQ 4D 7E C1 A8

bubuko.com,布布扣




第二次握手

ACK 4D 7E C1 A9

bubuko.com,布布扣

SEQ F1 59 F5 88

bubuko.com,布布扣




第三次握手

ACK F1 59 F5 89

bubuko.com,布布扣

SEQ 4D 7E C1 A9

bubuko.com,布布扣

首先,主机1向主机2发送一个连接请求报文,这时候A初始化一个初始序号SEQ为4D 7E C1 A8,确认信号为0,当主机2收到主机1的请求报文后,因为2同意连接,就向1发送一个确认报文,此时2也初始化一个初始序号SEQ为F1 59 F5 88,并且确认ACK为1发送过来数据报的SEQ+1即4D 7E C1 A9,当1收到2数据包的时候再次向2发送确认信号,此时1又会产生一个初始序号SEQ4D 7E C1 A9,确认ACK为B发送过来的数据包的SEQ+1即F1 59 F5 89,这时,TCP协议就建立起连接。


(7)选作

TCP采用了拥塞控制机制,事实上,TCP开始发送数据时,使用了慢启动。利用网络监视器观察TCP的传输和确认。在每一确认到达之后,慢启动过程中发生了什么?(选做)


 在TCP知道往返时间之前,TCP必须准备重发初始段(用于打开一个连接的一个段)。TCP应等多久才重发这一段?TCP应重发多少次才能宣布它不能打开一个连接?为找到结果尝试向一个不存在的地址打开一个连接,并使用网络监视器观察TCP的通信量。(选做)


 尝试使用Winpcap自行设计实现一个简单的网络数据包监听与捕捉程序,同时将捕获的数据包进行分析并将结果显示在屏幕上。参考Winpcapde  的有关资料http://winpcap.polito.it(课后选做)。



(8)附件

下载地址http://down.51cto.com/data/991237

使用网络监视器(IRSI)捕捉和分析协议数据包,布布扣,bubuko.com

使用网络监视器(IRSI)捕捉和分析协议数据包

标签:数据抓包   icmp   arp   三次握手   网络监视器irsi   

原文地址:http://blog.csdn.net/idiotxl_1020/article/details/38335523

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!