TCP之SYN攻击

攻击原理

SYN Flood利用TCP协议缺陷,发送了大量伪造的TCP连接请求,使得被攻击方资源耗尽,无法及时回应或处理正常的服务请求。一个正常的TCP连接需要三次握手,首先客户端发送一个包含SYN标志的数据包,其后服务器返回一个SYN/ACK的应答包,表示客户端的请求被接受,最后客户端再返回一个确认包ACK,这样才完成TCP连接。在服务器端发送应答包后,如果客户端不发出确认,服务器会等待到超时,期间这些半连接状态都保存在一个空间有限的缓存队列中;如果大量的SYN包发到服务器端后没有应答,就会使服务器端的TCP资源迅速耗尽,导致正常的连接不能进入,甚至会导致服务器的系统崩溃。

 

以synkill.exe为例,运行工具,选择随机的源地址和源端囗,并填写目标机器地址和TCP端囗,激活运行,很快就会发现目标系统运行缓慢。如果攻击效果不明显,可能是目标机器并未开启所填写的TCP端囗或者防火墙拒绝访问该端囗,此时可选择允许访问的TCP端囗,通常,windows系统开放tcp139端囗,UNIX系统开放tcp7、21、23等端囗。

 

具体SYN攻击见百度链接:http://baike.baidu.com/link?url=b4EcpxYCjOGuPEPPf0CAPfsc9Yf3ljRQsVZTZeh8coX-n2CrRXmOeQ2b8LOYgFbk

 

实验SYN攻击,拓扑图

 

image

我测试了下在2003系统上使用了如下SYN的攻击工具,攻击XP客户端的445端口,如果攻击XP没有开放的端口是没有用的,或者XP开启了防火墙即使攻击445端口也是没有用的,在XP没有开启防火墙的情况下,攻击XP的445端口,因为445端口通常都是开放的。

image

 

利用ethereal进行抓包,瞬间抓到了大量的TCP的数据包

image

 

如下图,SYN攻击器使用大量的伪造地址对XP的445端口发起SYN数据包,这样就导致了XP需要进行回应,但是这些地址都是伪造的根本不存在的,导致XP一直等待这些伪造地址的回应,xp在没有得到伪造地址回应的前,会一直等待到超时这样就消耗了XP的资源,导致xp在瞬间无法动弹,直到syn攻击器停止攻击。

image

你可能感兴趣的:(资源,color,target,blank)