- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验利用Wireshark分析ICMP协议
实验 利用Wireshark分析ICMP协议
一、实验目的
分析ICMP协议
二、实验环境
与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、协议简介
ICMP全称Internet Control Message Protocol,中文名为因特网控制报文协议。它工作在OSI的网络层,向数据通讯中的源主机报告错误。ICMP可以实现故障隔离和故障恢复。
网络本身是不可靠的,在网络传输过程中,可能会发生许多突发事件并导致数据传输失败。网络层的IP协议是一个无连接的协议,它不会处理网络层传输中的故障,而位于网络层的ICMP协议却恰好弥补了IP的缺限,它使用IP协议进行信息传递,向数据包中的源端节点提供发生在网络层的错误信息反馈。
ICMP的报头长8字节,结构如图1所示。
比特0 7 8 15 16 比特31
类型(0或8)代码(0)检验和为使用数据(图1 ICMP报头结构)
类型:标识生成的错误报文,它是ICMP报文中的第一个字段;
代码:进一步地限定生成ICMP报文。该字段用来查找产生错误的原因;
校验和:存储了ICMP所使用的校验和值。
未使用:保留字段,供将来使用,起值设为0
数据:包含了所有接受到的数据报的IP报头。还包含IP数据报中前8个字节的数据;
ICMP协议提供的诊断报文类型如表1所示。
类型描述0回应应答(Ping应答,与类型8的Ping请求一起使用)3目的不可达4源消亡5重定向8回应请求(Ping请求,与类型8的Ping应答一起使用)9路由器公告(与类型10一起使用)10路由器请求(与类型9一起使用)11超时12参数问题13时标请求(与类型14一起使用)14时标应答(与类型13一起使用)15信息请求(与类型16一起使用)16信息应答(与类型15一起使用)17地址掩码请求(与类型18一起使用)18地址掩码应答(与类型17一起使用)(表1 ICMP诊断报文类型)
ICMP提供多种类型的消息为源端节点提供网络层的故障信息反馈,它的报文???型可以归纳为以下5个大类:
诊断报文(类型8,代码0;类型0,代码0);
目的不可达报文(类型3,代码0-15);
重定向报文(类型5,代码0-4);
超时报文(类型11,代码0-1);
信息报文(类型12-18)。
Ping 命令只有在安装了 TCP/IP 协议之后才可以使用,其命令格式如下:
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count]
[[-j host-list] | [-k host-list]] [-w timeout] target_name
这里对实验中可能用到的参数解释如下:
-t :用户所在主机不断向目标主机发送回送请求报文 ,直到用户中断;
-n count: 指定要 Ping 多少次,具体次数由后面的 count 来指定 ,缺省值为 4;
-l size: 指定发送到目标主机的数据包的大小 ,默认为 32 字节,最大值是 65,527;
-w timeout:指定超时间隔,单位为毫秒;
target_name:指定要 ping 的远程计算机。
Ping和traceroute命令都依赖于ICMP。ICMP可以看作是IP协议的伴随协议。ICMP报文被封装在IP 数据报发送。
一些ICMP报文会请求信息。例如:在ping中,一个ICMP回应请求报文被发送给远程主机。如果对方主机存在,期望它们返回一个ICMP回应应答报文。
一些ICMP报文在网络层发生错误时发送。例如,有一种ICMP报文类型表示目的不可达。造成不可达的原因很多,ICMP报文试图确定这一问题。例如,可能是主机关及或整个网络连接断开。
有时候,主机本身可能没有问题,但不能发送数据报。例如IP首部有个协议字段,它指明了什么协议应该处理IP数据报中的数据部分。IANA公布了代表协议的数字的列表。例如,如果该字段是6,代表TCP报文段,IP层就会把数据传给TCP层进行处理;如果该字段是1,则代表ICMP报文,IP层会将该数据传给ICMP处理。如果操作系统不支持到达数据报中协议字段的协议号,它将返回一个指明“协议不可达”的ICMP报文。IANA同样公布了ICMP报文类型的清单。
Traceroute是基于ICMP的灵活用法和IP首部的生存时间字段的。发送数据报时生存时间字段被初始化为能够穿越网络的最大跳数。每经过一个中间节点,该数字减1。当该字段为0时,保存该数据报的机器将不再转发它。
文档评论(0)