常用网络协议Internet控制报文

白癜风公益献礼 http://baidianfeng.39.net/a_ht/230421/13606005.html

1.ICMP简介

ICMP(InternetControlMessageProtocol)是Internet控制报文协议,是一种面向连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,对于网络安全具有极其重要的意义。

它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。

ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接收者。

2.ICMP的消息格式和代码组合

ICMP报文是放在一个IP数据报的数据部分中传送的。ICMP报文要求两级封装,如图所示。

每个ICMP报文放在IP数据报的数据部分中通过互联网,而数据报本身放在帧的数据部分中通过物理网络。携带IMCP报文的IP数据报在传输过程中不具有任何优先级,与正常的IP数据报的功能与作用一样进行转发,唯一不同的是如果携带ICMP报文的IP数据报在传输过程中出现故障,转发该IP数据报的路由将不产生任何关于该差错的报文。

3.使用ICMP协议搜集信息操作步骤如下:

步骤1:使用ICMP协议搜集信息。ICMP的使用者主要是路由器,接收者为IP数据报的源发主机端,但也可以由主机向一个特定的目的主机发出查询报文。

步骤2:网络ping扫射,寻找活动主机。获取一个真实网络的最基本步骤之一是在某一个IP地址和网络块范围内执行一轮自动ping扫射,以确定某个具体的系统是否存活。

步骤3:ICMP查询。请某个主机或路由回答当前的日期和时间。

步骤4:获取目标主机的其他信息。利用ICMP协议最基本的用途——报错,来获取目标主机的其他信息。

4.ICMP报文的三大种类。

(1)响应请求

日常使用最多的ping,就是响应请求(Type=8)和应答(Type=0),一台主机向一节点发送一个Type=8的ICMP报文,如果途中没有异常(例如被路由器丢弃、目标不回应ICMP或传输失败),则目标返回Type=0的ICMP报文,说明这台主机存在,更详细的tracert通过计算ICMP报文通过的节点来确定主机与目标之间的网络距离。

(2)目标不可到达、源抑制和超时报文

这三种报文的格式是一样的,目标不可到达报文(Type=3)在路由器或主机不能传递数据报时使用,例如我们要连接对方一个不存在的系统端口(端口号小于)时,将返回Type=3、Code=3的ICMP报文,它要告诉我们:“嘿,别连接了,我不在家的!”常见的不可到达类型还有网络不可到达(Code=0)、主机不可到达(Code=1)、协议不可到达(Code=2)等。

(3)时间戳

时间戳请求报文(Type=13)和时间戳应答报文(Type=14)用于测试两台主机之间数据报来回一次的传输时间。传输时,主机填充原始时间戳,接收方收到请求后填充接收时间戳后以Type=14的报文格式返回,发送方计算这个时间差。一些系统不响应这种报文。

5.基于ICMP的攻击

基于ICMP的攻击可以分为两大类:一是ICMP攻击导致拒绝服务(DOS);另一个是基于重定向(redirect)的路由欺骗技术。

服务拒绝攻击是最容易实施的攻击行为。目前,基于ICMP的攻击大部分都可以归类为拒绝服务攻击,其又可以分为以下几类:

针对带宽的DoS攻击。针对带宽的DoS攻击,主要是利用无用的数据来耗尽网络带宽。

针对连接的DoS攻击。针对连接的DoS攻击,可以终止个别网络连接。




转载请注明:http://www.xbkqw.com/rcbj/96759.html

当前时间: