透析ICMP协议(1): 协议原理

2016-02-19 17:13 7 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的透析ICMP协议(1): 协议原理懂设计的网友们快点来了解吧!

【 tulaoshi.com - 编程语言 】

  ICMP简介:

  对于熟悉网络的人来说, ICMP是再熟悉不过了. 它同IP协议一样工作在ISO模型的网络层, 它的全称是: Internet Control Message Protocal. 其在网络中的主要作用是:

  - 主机探测

  - 路由维护

  - 路由选择

  - 流量控制

  对于主机探测来说有很多方法,主机某些服务的BANNER,一些使用的应用程序,或者使用工具来检测主机,如NMAP,在WEB上有www.netcraft.com来简单的估测主机。下面所讲的是使用ICMP协议来探测主机,主要也是可以了解ICMP这个协议,这里最主要的也是将这个ICMP协议,

  首先我来讲一下主机探测用到的ICMP报文:(我没有一一讲全部报文,详细请参见RFC792协议)

  1. 回送或回送响应

  我们使用一个ICMPECHO数据包来探测主机地址是否存活(当然在主机没有被配置为过滤ICMP形式),通过简单的发送一个ICMPECHO(Type 8)数据包到目标主机,如果ICMPECHOReply(ICMPtype0)数据包接受到,说明主机是存活状态。  如果没有就可以初步判断主机没有在线或者使用了某些过滤设备过滤了ICMP的REPLY。这种机制就是我们通常所用的ping命令来检测目标主机是否可以ping到.

  回送消息的源地址是回送响应消息的目的地址。若要形成一个回送响应消息,应该将源和目的地址交换,将类型代码更改为0,重新计算机校验码。

  下面是这个报文的格式:

  

0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Type | Code | Checksum |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Identifier | Sequence Number |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Data ...+-+-+-+-+-

  类型:

  8代表回送消息;

  0代表回送响应消息。

  代码:0

  校验码:

  16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在 以后会被校验码取代。

  标识符:如果代码=0,帮助匹配回送和回送响应的代码可以为0。

  序列码:如果代码=0,帮助匹配回送和回送响应的序列码可以为0。

  说明:

  回送消息中接收到的消息应该在回送响应消息中返回。标识符和序列码由回送发送者使用帮助匹配

  回送请求的响应。代码: 从主机或网关接收0

  2. 超时报文

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  

0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Type | Code | Checksum |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| unused |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Internet Header + 64 bits of Original Data Datagram |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  类型:11

  代码:

  0 = 传送超时;

  1 = 分段级装超时。

  校验码:

  16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。

  这些零在以后会被校验码取代。

  Internet包头+64位源数据报数据:

  Internet包头加上源数据的头64位而得。此数据用于主机匹配信息到相应的进程。

  如果高层协议使用端口号,应该假设其在源数据的头64个字节之中。

  说明:

  如果网关在处理数据报时发现生存周期域为零,此数据报必须抛弃。网关同时必须通过超

  时信息通知源主机。如果主机在组装分段的数据报时因为丢失段未能在规定时间内组装数据,

  此数据报必须抛弃。网关发送超时信息。

  如果段零不可用则不用发送超时信息。

  代码0由网关发送,代码1由主机发送。

  3. 目标主机不可达报文

  

0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Type | Code | Checksum |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| unused |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Internet Header + 64 bits of Original Data Datagram |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  类型:3

  代码:

  0 = 网络不可达;

  1 = 主机不可达;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  2 = 协议不可用;

  3 = 端口不可达;

  4 = 需要段和DF设置;

  5 = 源路由失败;

  校验码:

  16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。

  这些零在以后会被校验码取代。

  Internet包头+源数据报:

  Internet包头加上源数据的头64位而得。此数据用于主机匹配信息到相应的进程。

  如果高层协议使用端口号,应该假设其在源数据的头64个字节之中。

  说明:

  相应于网关的路由表,如果在目的域中指定的网络不可达,如网络距离为无限远,网关会向发送

  源数据的主机发送目的不可达消息。而且,在一些网络中,网关有能力决定目的主机是否可达。

  如果目的地不可达,它将向发送源数据的主机发送不可达信息。

  在目的主机,如果IP模块因为指定的协议模块和进程端口不可用而不能提交数据报,目的主机将

  向发送源数据的主机发送不可达信息。

  另外一种情况是当数据报必须被分段传送,而不可分段位打开,在这种情况下,网关必须抛弃

  此数据报,并向向发送源数据的主机发送不可达信息。

  代码0,1,4和5由网关发送,而代码2和3由主机发送。

  联系方式: zhangliangsd@hotmail.com

来源:http://www.tulaoshi.com/n/20160219/1614574.html

延伸阅读
SMTP被用来在因特网上传递电子邮件。文件RFC821规定了该协议的所有细节。但是你只须记住下面的内容--该协议的基本命令和方法就行了。 协议的原理很简单。无非是一个客户端计算机向服务器发送命令,然后服务器向客户端计算机返回一些信息。客房端发送的命令以及服务器的回应都是字符串,你并不需要特别的软件就能读出它们。如果你仔细...
《阿尔法协议》开发日记 《阿尔法协议》游戏研发影像 《阿尔法协议》最新角色介绍高清视频2 世嘉:《阿尔法协议》不会有续作 点击进入《阿尔法协议》专区 【新浪游戏专稿,转载请注明出处。】 7月7日,谍报RPG游戏《阿尔法协议(Alpha Protocol)》的发行公司SEGA公开表示,不会为该游戏开发续作。 《阿尔法协议》一代于...
SOAP(Simple Object Access Protocal) 技术有助于实现大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问。SOAP是把成熟的基于HTTP的WEB技术与XML的灵活性和可扩展性组合在了一起。这篇文章带你全面回顾对象远程进程调用(ORPC)技术的历程,以帮助你理解SOAP技术的基础,以及它克服存在技术(如CORBA和DCOM)的许多缺...
《阿尔法协议》特殊场景 《阿尔法协议》游戏研发影像 《阿尔法协议》最新角色介绍高清视频2 世嘉:《阿尔法协议》不会有续作 点击进入《阿尔法协议》专区 【新浪游戏专稿,转载请注明出处。】 7月7日,谍报RPG游戏《阿尔法协议(Alpha Protocol)》的发行公司SEGA公开表示,不会为该游戏开发续作。 《阿尔法协议》一代于...
什么是补充协议 一、成交价格 成交价格一般是净得价,包括予以赠送或者折价的家电、装修等。 二、关于定金的约定 1、约定支付定金的时间和条件,及违约责任。 2、约定定金的数额及支付方式。 三、关于还款解押的约定 明确房屋是否有抵押,如有抵押约定办理解压手续的时间及违约责任。 四...

经验教程

764

收藏

64
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部