欢迎来到天天文库
浏览记录
ID:37815495
大小:189.57 KB
页数:16页
时间:2019-05-31
《ICMP攻击原理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、几年前的某天晚上9时,两个“大虾”进入一个聊天室,提议里面的50多个网民“去响应号召,做爱国的事”,以下是原话摘录:大虾甲:今晚10点,大家一起去ping白宫!大虾乙:嗯嗯!ping死白宫!网民:怎么做?大虾甲:你怎么这么笨?开MS-DOS窗口,输入pingxxx.xxx.xxx.xxx-l65500-t就可以了!网民:这样有什么用?大虾甲:只要这样做,白宫网站就进不去了。网民:哦~~原来如此~~~这样做是什么原理?高手可以解释一下吗?大虾甲:这个嘛……还是让他来说吧!大虾乙:这个……这个……咳,总之别问这么多,
2、照着做就是了,上头说过好像是什么DOS攻击吧,这样做,白宫网站的服务器就会垮掉。大虾甲:总之到时候你们一起这样做就可以了!10点准时开始,我们先去准备了!网民:不懂……不懂归不懂,当晚10点,爱国的网民们一起用上面“高手”给出的命令开始了雄伟的“爱国反击战”——一场无聊的闹剧!他们这样做是什么原理?那样的“攻击”有效吗?要解释这些,就要从ICMP协议说起。一、什么是ICMP协议?ICMP全称InternetControlMessageProtocol(网际控制信息协议)。提起ICMP,一些人可能会感到陌生,实际上
3、,ICMP与我们息息相关。在网络体系结构的各层次中,都需要控制,而不同的层次有不同的分工和控制内容,IP层的控制功能是最复杂的,主要负责差错控制、拥塞控制等,任何控制都是建立在信息的基础之上的,在基于IP数据报的网络体系中,网关必须自己处理数据报的传输工作,而IP协议自身没有内在机制来获取差错信息并处理。为了处理这些错误,TCP/IP设计了ICMP协议,当某个网关发现传输错误时,立即向信源主机发送ICMP报文,报告出错信息,让信源主机采取相应处理措施,它是一种差错和控制报文协议,不仅用于传输差错报文,还传输控制报
4、文。二、ICMP报文格式ICMP报文包含在IP数据报中,属于IP的一个用户,IP头部就在ICMP报文的前面,所以一个ICMP报文包括IP头部、ICMP头部和ICMP报文(见图表,ICMP报文的结构和几种常见的ICMP报文格式),IP头部的Protocol值为1就说明这是一个ICMP报文,ICMP头部中的类型(Type)域用于说明ICMP报文的作用及格式,此外还有一个代码(Code)域用于详细说明某种ICMP报文的类型,所有数据都在ICMP头部后面。RFC定义了13种ICMP报文格式,具体如下:类型代码类型描述0响
5、应应答(ECHO-REPLY)3不可到达4源抑制5重定向8响应请求(ECHO-REQUEST)11超时12参数失灵13时间戳请求14时间戳应答15信息请求(*已作废)16信息应答(*已作废)17地址掩码请求18地址掩码应答其中代码为15、16的信息报文已经作废。下面是几种常见的ICMP报文:1.响应请求我们日常使用最多的ping,就是响应请求(Type=8)和应答(Type=0),一台主机向一个节点发送一个Type=8的ICMP报文,如果途中没有异常(例如被路由器丢弃、目标不回应ICMP或传输失败),则目标返回T
6、ype=0的ICMP报文,说明这台主机存在,更详细的tracert通过计算ICMP报文通过的节点来确定主机与目标之间的网络距离。2.目标不可到达、源抑制和超时报文这三种报文的格式是一样的,目标不可到达报文(Type=3)在路由器或主机不能传递数据报时使用,例如我们要连接对方一个不存在的系统端口(端口号小于1024)时,将返回Type=3、Code=3的ICMP报文,它要告诉我们:“嘿,别连接了,我不在家的!”,常见的不可到达类型还有网络不可到达(Code=0)、主机不可到达(Code=1)、协议不可到达(Code
7、=2)等。源抑制则充当一个控制流量的角色,它通知主机减少数据报流量,由于ICMP没有恢复传输的报文,所以只要停止该报文,主机就会逐渐恢复传输速率。最后,无连接方式网络的问题就是数据报会丢失,或者长时间在网络游荡而找不到目标,或者拥塞导致主机在规定时间内无法重组数据报分段,这时就要触发ICMP超时报文的产生。超时报文的代码域有两种取值:Code=0表示传输超时,Code=1表示重组分段超时。3.时间戳时间戳请求报文(Type=13)和时间戳应答报文(Type=14)用于测试两台主机之间数据报来回一次的传输时间。传输
8、时,主机填充原始时间戳,接收方收到请求后填充接收时间戳后以Type=14的报文格式返回,发送方计算这个时间差。一些系统不响应这种报文。三、回到正题:这样的攻击有效吗?在前面讲过了,ping使用的是ECHO应答,不知道大家注意过没有,ping的返回很慢,用NetXRAY抓包仅为1--5包/秒,这是为什么呢?事实上,ICMP本身并不慢(由于ICMP是SOCK_RAW产生的原始
此文档下载收益归作者所有