UDP、TCP、ICMP攻击原理?

如题所述

ICMP攻击就是Ping就是利用ICMP协议走的。大量的ping 就是ICMP碎片攻击。

TCP攻击,TCP连接的三次握手特性来进行,一般有SYN ACK FIN NULL FIN+URG+PUSH 由于TCP协议很多。所以攻击的方式也很多。有开放性的,有半开放的。都是利用三次握手,中途突然终断。造成拒绝服务。

UDP攻击,多是了利用和ICMP进行的组合进行,比如SQL SERVER,对其1434端口发送‘x02’或者‘x03’就能够探测得到其连接端口。我想你听说过阿拉丁UDP洪水吧。就是这个道理,UDP是最难防御的。只可意会不可言传。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-11
使用ICMP协议搜集信息:
ICMP的使用者主要是路由器,接收者为IP数据报的源发主机端,但也可以由主机向一个特定的目的主机发出查询报文。ICMP协议有一个特点——它是面向无连接的,也就是说只要发送端完成ICMP报文的封装并传递给路由器,这个报文将会象邮包一样自己去寻找目的地址,这个特点使得ICMP协议非常灵活快捷,但是同时也带来一个致命的缺陷——易伪造,任何人都可以伪造一个ICMP报文并发送出去。根据这个原理,出现了不少基于ICMP的攻击软件,有制造ICMP风暴的;有使用非常大的报文堵塞网络的;有利用ICMP碎片攻击消耗服务器CPU的;有扫描网络,为发动DoS攻击搜集信息的。
一般黑客入侵之前,要先对目标主机进行详尽的分析,找出主机可以利用的安全漏洞或弱点,然后乘虚而入。在这里我们利用ICMP协议的不同类型可以搜集目标主机的很多信息:
1、网络ping扫射,寻找活动主机
获取一个真实网络的最基本步骤之一是在某个IP地址和网络块范围内执行一轮自动ping扫射,以确定某个具体的系统是否存活。Ping命令,就是向某个目标发送响应请求(Type=8)报文,并期待由此产生表明目标存活的ICMP应答(Type=0)报文。一台主机向一个节点发送一个Type=8的ICMP报文,TCP协议需对特定的ICMP消息做出响应,如果途中没有异常(如被路由器丢弃、目标不回应ICMP或传输失败),则目标返回Type=0的ICMP报文,说明这台主机存在。
2、ICMP查询
(1)请某个主机或路由器回答当前的日期和时间。向目的系统发送时间戳(Type=13)报文,请求返回目的系统的时间,可以获得目标系统所在的时区。
(2)从子网掩码服务器得到某个接口的地址掩码。发送地址屏蔽码(Type=17)报文,请求返回设备的子网掩码,据此可以确定将要用到的所有子网。
3、利用ICMP协议最基本的用途:报错,来获取目标主机的其他信息
根据网络协议,如果按照协议出现了错误,那么接收端将产生一个ICMP的错误报文。这些错误报文并不是主动发送的,而是由于错误,根据协议自动产生。当我们设计一些有缺陷的ICMP报文发送到目标系统后,目标将发回报告错误的报文。
(1)向目标主机发送一个只有IP头的IP数据包,目标将返回Destination Unreachable的ICMP错误报文。
(2) 向目标主机发送一个坏IP数据报,比如,不正确的IP头长度,目标主机将返回Parameter Problem的ICMP错误报文。
(3)当数据包分片,但却没有给接收端足够的分片,接收端分片组装超时会发送分片组装超时的ICMP数据报。
(4)向目标主机发送一个IP数据报,但是协议项是错误的,如协议项不可用,那么目标将返回Destination Unreachable的ICMP报文。
但是如果是在目标主机前有一个防火墙或者一个其他的过滤装置,可能过滤掉信源发出的数据包,从而接收不到任何回应。如果没有ICMP数据报返回的错误提示,那么就说明被防火墙或者其他设备过滤了,我们也可以用这个办法来探测是否有防火墙或者其他过滤设备存在。

使用ICMP进行DoS攻击:
Dos攻击:
拒绝服务(Denial of Service)简称DoS,造成DoS的攻击行为被成为DoS攻击,其目的是使计算机或网络无法提供正常的服务。攻击者通过高速发送大量的ICMP Echo Reply数据包给被攻击者,使得目标网络所有可用的网络资源、主机资源都被消耗殆尽,最后导致合法用户的请求无法通过,阻止了合法的数据通过网络。
在一般情况下,网络总是允许内部主机使用PING命令。单个攻击者就能发起DoS攻击,当攻击目标的各项性能指标不高时,如CPU速度低,内存小或者网络带宽小,这种攻击效果是明显的。更厉害的攻击形式,可以使整个子网内的主机对目标主机进行攻击,从而扩大ICMP流量,形成DdoS攻击。
当我使用10台电脑,用多线程的方式,同时向一台被攻击电脑发送2000个数据包时,被攻击电脑将无法响应其他程序的请求;这正是由于攻击者在很短的时间里发送了大量的数据包,导致被攻击的电脑资源耗尽。而当我使用单线程的方式发送5000个数据包,被攻击的电脑都没有异常发生,这说明攻击者发送的数据包还没有形成ICMP风暴。
相似回答