当前位置:文档之家› ICMP协议分析报告

ICMP协议分析报告

实验名称:利用Wireshark软件进行ICMP抓包实验

实验目的:1.掌握Wireshark的基本使用方法。

2.通过对Wireshark抓取的ICMP协议数据包分析,掌握ICMP的帧格式及运行原

理。

3.熟悉IP首部各字段的含义及以太网封装格式。

实验环境:1.硬件环境

a)网卡信息

Description:Realtek RTL8139 Family Fast Ethernet Adapter

@

Link speed:100MBits/s

Media supported:(Ethernet)

Media in use: (Ethernet)

Maximum Packet Size 1514

其它详细信息见附图1.

b)网络组成

实验电脑通过ADSL MODEM 接入互联网中联通ADSL服务器,ADSL MODEM

和ADSL服务器间通过PPP over Ethernet(PPPoE)协议转播以太网络中PPP

帧信息。电脑通过ADSL方式上网是通过以太网卡(Ethernet)与互联网相连

的。使用的还是普通的TCP/IP方式,并没有付加新的协议,对我们的抓包实

验是透明的。

2. 软件环境

a)¥

b)操作系统

Microsoft Windows XP Professional 版本2002 Service Pack 3

c)Wireshark 软件

通过系统命令systeminfo查看处理器类型为X86-based PC,为32位机,因此选

择32位的Wireshark软件(Version:Version 1.2.3 for win32)。

实验的主要步骤和内容:

1.理论基础

本实验的主要目的是通过软件进一步掌握ICMP协议,因此选用PING 命令来

产生ICMP包,通过对这些数据包的分析,达成实验目的。所以该部分必须

包括ICMP报文格式,PING命令运行机制等说明。

a)(

b)ICMP简述

ICMP(Internet Control Message Protocal)在网络中的主要作用是主机探

测、路由维护、路由选择、流量控制。运行于OSI的第三层,是IP协议

的一个附属协议。其报文封装在IP数据报内部。如下图。

ICMP报头结构如图0:

图0

各字段的含义:

1.类型:标识生成的错误报文,它是ICMP报文中的第一个字段;

2.代码:进一步地限定生成ICMP报文。该字段用来查找产生错误的原因;

3.校验和:存储了ICMP所使用的校验和值。

4.数据:包含了所有接受到的数据报的IP报头。还包含IP数据报中前8个字节的

数据;

c)'

d)PING命令简述

ping是DOS命令,一般用于检测网络通与不通,也叫时延,其值越大,速度越慢。PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量

的程序。Ping发送一个ICMP回声请求消息给目的地并报告是否收到所希望的IC

MP回声应答。基本命令格式为:ping host(主机名或IP都可以)。

例:ping [] with 32 bytes of data:

Reply from : bytes=32 time=31ms TTL=247

Reply from : bytes=32 time=28ms TTL=247

Reply from : bytes=32 time=28ms TTL=247

Reply from : bytes=32 time=29ms TTL=247

Ping statistics for :

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 28ms, Maximum = 31ms, Average = 29ms

2.

软件初始配置

该节主要是掌握数据包的过滤及相关设置和命令。Wireshark 主要有捕捉过滤器和显示过滤器两种,捕捉过滤器主要是在抓包前进行设置,而大多

数时候经地捕捉过滤器后的数据依然很复杂,所以需要显示过滤器进行筛选。

两者设置如下:

设置捕捉过滤器的步骤是:

- 选择capture -> options。

- 填写"capture filter"栏或者点击"capture filter"按钮为您的过滤器起一个名字

并保存,以便在今后的捕捉中继续使用这个过滤器。

- 点击开始(Start)进行捕捉。

&

语法:Protocol Direction Host(s)。Value Logical Operations Other expression

例子:]

tcp

dst10.1.1.180@

and

tcp dst 10.2.2.2 3128显示过滤器主要是在数据包窗口中的Filter子窗口进行命令输入,命令格式

如下:

语法:Protocol|

.

String

1

.

String

2

Comparison

operator

Value…

Logical

Operations

Other

expression

例子:ftp^

passive

ip==10.2.3.4:

xor

此外,主要掌握会用协议名称及IP地址过滤数据包就可以完成该实验,如

ICMP and or等即可。

3.^

4.捕获数据包

a)开始抓包,设置Filter字段为ICMP,只抓网络接口中的ICMP数据包。

从上图可以看出,网卡的描述和接包统计等信息。本机IP为,是由DHCP服务器

动态分配的。点击start 按钮开始抓包。

b)在Windows系统中使用DOS命令ping .在Wireshark主窗口抓包如图1。

图1

5.对数据包进行宏观分析

a)"

b)对目的IP为的地址进行分析。

从图1中数据可以看到全是ICMP协议的报文,是因为Filter里面输入了icmp

过滤条件,不过,可以看出有两种报文,一个是发往,另一个是发往。通过网

上查知,前一个IP地址为一个联通ADSL服务器。本机上有进程向其不断发

ICMP请求报文,因为从ICMP报文本身看不到是哪个应用进程在发ICMP请

求(当然,很有可能是病毒程序,呵呵)。不过,只有请求,没有应答,服

务器应该设置了对笔者主机IP进行“禁止PING的设置”(安全措施)。如图

2。

图2

c)对目的IP为进行分析。

首先,通过PING命令的第一行,行知,是的地址:

Pinging [] with 32 bytes of data:

当然,这是因为PING 命令一开始向DNS服务器发起一次查询,查询的IP,

报文如图3。

图3

当然,请求报文里有两个IP地址,经验证都是的IP地址,系统取第一个。至于DNS的运行原理不是本实验的目的,不再赘述。

其次,在Filter里输入过滤条件如下:

icmp and == or == and not ==

意思是把ICMP报文里,源主机或目的主机是或的,但不能是的报文包筛选出来。即将PING 命令的ICMP报文单独筛选出来,如图4.

,

图4

DOS窗口下的PING命令以及应答如图5

图5

总共发出4份ICMP请求报文,收到3份应答报文,两份数据是一致的。

在数据报窗口中,选中第一条,然后右键,选择Set timer refenerce,表示以捕捉第一条数据的绝对时间为参考,其余各条目数据报Time字段便显示相对值,很很容易计算出PING命令里的返回字段time. 由图5知time分别为183ms,117ms和29ms,从图4亦可得同样的结果,只是图4显示精度更高而已。还可以进行更深入的分析和比对,见5节。

以上便是ping命令利用ICMP协议的工作程,以上分析,只限于流程,没有深入到协议格式、封装等具体方面,主要体现如何利用网络工具进行协议的学习。

6.对数据包进行细致分析

本节主要是对一份ICMP报文经IP层到数据链路层一个帧到的全程进行分

析,涉及链路层封装,IP封装等。先对每一个阶段重要协议字段进行简单介

绍,再根据若干原则进行纵向比较。

a)从数据帧到ICMP报文的分析

我们分析的选择了一条ICMP应答报文作为分析对象,如图6.

图6

"

对第902号帧进行分析,图7。

图7

对以太网封装格式首部进行分析。以太网封格式(RFC 894)如图8.

图8

源MAC地址和源地址和类型字段共14个字节。分析数据报如图9.

图9

对IP首部的分析,IP报文封装的格式如图10.

图10

此数据报IP首部信息如图11.

图11

ICMP报文封装格式如图0所示。分析结果如图12.

图12

类型和代码的不同组合代表不同的报文,具体如附表 1.所选数据报为

GOOGLE服务器返回的ICMP应答,所以类型、代码都为0.

b)从报文长度分析封装流程

从图12可知ICMP数据报数据部分长度为32字节,加上ICMP首部4个字节,整个ICMP报文总长度为32+4=36个字节。

ICMP进行IP封装。从图11可知IP首部共20个字节,IP数据报共

*

20+36共56字节。

IP报文进行以太网封装。从RFC 894 封装格式知,对IP报文的封装共包括6(源MAC)+6(目的MAC)+2(类型)共14个字节首部,此外,还

有4字节尾部CRC封装。所以以太网帧长度为:14+4+56=74字节。

从图6第一行可知,FRAME 902 共在线捕捉74字节数据,符合结论!

7.总结

本实验从理论基础、软件配置,抓包,分析等几个部分分析了ICMP协议,探究了PING命令的工作原理,通过Wireshark软件对ICMP数据包进行

细致分析,特别是整个封装流程,加深了对理论知识的理解,也进一步熟练

了软件的使用,为以后更加深入和广泛地学习网络协议打下了良好基础。

该实验对实验环境的分析特别重要,明白了实验的基础和软件的选用。

实验目的基本达到,不足之处:因为本实验目的所囿,对有些字段介绍的不

够深入,有些甚至没有涉及,在以后的学习中,可作更加深入的研究。

^

附图1 网卡详细信息

附表1 ICMP报文类型

相关主题
文本预览
相关文档 最新文档