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

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

时间:2017-05-14 18:55:59      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:清空   拥塞   存在   封装   个数   fill   时间   window   nts   

转载请注明原地址。


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

 一、实验目的和要求

(1) 熟悉IRIS的使用

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

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

二、主要仪器设备

环境: Windows XP 

软件:IRIS软件

三、实验内容及过程

主机1:192.168.2.110(监听方)

主机2:192.168.2.109(被监听方)

(1) 安装IRIS软件

技术分享

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

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

技术分享

设置过滤器

技术分享

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

技术分享

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

技术分享

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

技术分享

选择菜单 过滤器àftp.flt

技术分享

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

技术分享

停止抓包,抓包结果图。

技术分享

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

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



验证数据帧格式

技术分享

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

技术分享

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

技术分享

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

 

验证IP数据报格式

技术分享

技术分享

由以上两图我们能够知道:

版本号4表示IPV4,占4位技术分享

首部长度为5是因为这个单位是32位,所以这个IP数据报首部长度为20个字节技术分享

区分服务00占一个字节技术分享,4表示版本号,5表示首部长度

总长度00 43占两个字节技术分享,标识6C 49占两个字节技术分享

标志+片偏移40 00占两个字节技术分享

生存时间128跳技术分享

向上提供的协议是TCP技术分享

首部检验和是840技术分享

源地址是192.168.2.109,目的地址是192.168.2.110技术分享


验证TCP数据段的报文格式

技术分享
技术分享

源port00 15 转化为十进制刚好是21,是ftp默认的port技术分享

目的port是0E 93占两个字节技术分享

序号21 7B 54 6C各占4个字节技术分享

确认号5A 1D 33 21占4个字节技术分享

首部长度为5技术分享,片偏移为18,技术分享

当中ACK、PSH各占一位技术分享

首部检验和是7CC1,占两个字节技术分享


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

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

技术分享

先执行arp –d命令。再执行ping 192.168.2.109命令

捕捉到的ARP报文

技术分享

分析

首先,我们在主机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缓存表

点击“開始/停止捕捉”。開始抓包

编辑过滤器,设置例如以下

技术分享

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

技术分享

停止抓包


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

技术分享

分析

从上图能够看出。我们用命令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。



技术分享

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

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

技术分享

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

技术分享

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

技术分享

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头信息

技术分享

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


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

更改过滤器设置

技术分享

開始捕捉数据包,下面就是捕捉到的结果。

技术分享

分析:

由上图可知。tracert命令依靠ICMP协议来实现的,数据报从路由器发出之后。每经过一个路由器,便会在该数据报的选项字段中增加该路由器的地址信息。当这条信息到达目的主机的时候,便会生成一条新的ICMP数据报,这个数据报记录了刚才所经过的路由信息,返回给源主机,这样源主机就知道了刚才所经过的路由信息。

由上图表明。因为主机1和主机2在同一个网段,所以不用经过路由器,因此当我们用tracert命令去追踪时,仅仅显示主机2的IP地址。


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

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

 

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

技术分享

主机1先执行arp –d命令。然后点击“開始/停止捕捉”

将ftpserver上的任意一个目录下载到主机1中

 

捕捉结果

技术分享

分析

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

第一次握手

ACK 00 00 00 00

技术分享

SEQ 4D 7E C1 A8

技术分享




第二次握手

ACK 4D 7E C1 A9

技术分享

SEQ F1 59 F5 88

技术分享




第三次握手

ACK F1 59 F5 89

技术分享

SEQ 4D 7E C1 A9

技术分享

首先。主机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)捕捉和分析协议数据包

标签:清空   拥塞   存在   封装   个数   fill   时间   window   nts   

原文地址:http://www.cnblogs.com/mthoutai/p/6853200.html

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