查看: 14840|回复: 9

原创:网络协议之ICMP应用分析!

[复制链接]
发表于 2006-7-5 11:09:32 | 显示全部楼层 |阅读模式
网络协议之ICMP应用分析

一、什么是ICMP协议
网络本身是不可靠的,在网络传输过程中,可能会发生许多突发事件并导致数据传输失败。位于网络层的IP协议是一个无连接的协议,它不会处理网络层传输中的故障,而位于网络层的ICMP协议却恰好弥补了IP的缺限,它使用IP协议进行信息传递,向数据包中的源端节点提供发生在网络层的错误信息反馈。
ICMP全称Internet Control Message Protocol,中文名为因特网控制报文协议,它的报头长8字节,结构如图1所示。

  
ICMP协议提供的诊断报文类型如表1所示。


ICMP提供多种类型的消息为源端节点提供网络层的故障信息反馈,它的报文类型可以归纳为以下5个大类:
1、诊断报文(类型8,代码0;类型0,代码0);
2、目的不可达报文(类型3,代码0-15);
3、重定向报文(类型5,代码0-4);
4、超时报文(类型11,代码0-1);
5、信息报文(类型12-18)。

二、分析网络中的ICMP诊断数据包
要对网络中的ICMP报文的类型和代码进行查看,需要对ICMP报文进行解码,解码可借助网络检测分析软件实现。下图(图2)是使用科来网络分析系统5.0在网络中捕获到的ICMP数据包。


从图2中可知,当前ICMP协议返回的类型和代码都是3,这表示192.168.10.1主机向192.168.10.44主机发了一个ICMP报文,此报文通知192.168.10.44主机,192.168.10.44的上一次请求报文失败,失败的原因是目标端口不可达。查看其解码信息,我们发现有两个IP协议的解码,上一个IP解码是这个ICMP诊断数据包的IP报头,其中长度字段的值是56,下一个IP解码是指192.168.10.44请求报文的IP的头,可以看到其长度字段的值是160。
当然,如果网络中存在其他几种情况的ICMP诊断报文数据包,科来网络分析系统5.0也会将其进行捕获并解码,通过解码信息中的类型和代码,便可找出传输的故障。
三、使用ICMP协议的常见操作
通过分析,我们总结出使用ICMP协议的常见操作如下:
1.目的不可达:如果第三层设备不能再向前转发某个IP数据段,它就会使用ICMP来传送一个信息返回给发送端以通告这一情况;
2.缓冲区满:如果第三层设备用于接收输入数据的内存缓冲区满时,它就会使用ICMP向外源端发送该状态信息;
3.跳:每个IP数据报被分配的一个允许被路由转换个数的数值,称为跳;
4.Ping(因特网探测):使用ICMP回应信息在互联网络上检查计算机物理连接的连通;
5.Tracert或Trace-route:Tracert或Trace-route通过使用ICMP的超时机制,从而发现一个数据包在穿越互联网络时所经历的路径。

[ 本帖最后由 老蔡 于 2008-12-11 13:39 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?CSNA会员注册

×
回复

使用道具 举报

发表于 2006-7-5 16:52:18 | 显示全部楼层
还需要继续学习呀,越学越觉得不懂得太多了
回复

使用道具 举报

发表于 2006-7-7 09:24:23 | 显示全部楼层
有ICMP的解码和ICMPV6的资料吗?
回复

使用道具 举报

发表于 2006-7-10 09:24:55 | 显示全部楼层
我也想看看v6的解码?
楼主有吗
回复

使用道具 举报

 楼主| 发表于 2006-7-10 11:02:53 | 显示全部楼层
目前手上没有这样的数据包,当有了后,一定在第一时间就发上来。
回复

使用道具 举报

发表于 2006-7-13 16:45:40 | 显示全部楼层
谢谢分享,努力学习。
回复

使用道具 举报

发表于 2006-7-28 21:28:30 | 显示全部楼层
感谢提供 ~~~ !!!
回复

使用道具 举报

发表于 2006-8-6 14:44:41 | 显示全部楼层
还需要继续学习呀,越学越觉得不懂得太多了
回复

使用道具 举报

发表于 2008-5-7 21:28:32 | 显示全部楼层
谢谢LZ的好文!
回复

使用道具 举报

发表于 2008-5-24 15:38:32 | 显示全部楼层
学习学习!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

快速回复 返回顶部 返回列表