DDoS前世今生 攻击原理与防御方法解析
2009-01-17 13:51:10 来源:WEB开发网核心提示: 图-04 TCP三次握手假设我们要准备建立连接,服务器正处于正常的接听状态,DDoS前世今生 攻击原理与防御方法解析(4),第一步:我们也就是客户端发送一个带SYN位的请求,向服务器表示需要连接,若是一个用户在连接时出现问题导致服务器的一个线程等待1分钟 并不是什么大不了的问题,但是若有人
图-04 TCP三次握手
假设我们要准备建立连接,服务器正处于正常的接听状态。
第一步:我们也就是客户端发送一个带SYN位的请求,向服务器表示需要连接,假设请求包的序列号为10,那么则为:SYN=10,ACK=0,然后等待服务器 的回应。
第二步:服务器接收到这样的请求包后,查看是否在接听的是指定的端口,如果不是就发送RST=1回应,拒绝建立连接。如果接收请求包,那么服务器 发送确认回应,SYN为服务器的一个内码,假设为100,ACK位则是客户端的请求序号加1,本例中发送的数据是:SYN=100,ACK=11,用这样的数据回应给我们。
向我们表示,服务器连接已经准备好了,等待我们的确认。这时我们接收到回应后,分析得到的信息,准备发送确认连接信号到服务器。
第三步:我们发送确认建立连接的信息给服务器。确认信息的SYN位是服务器发送的ACK位,ACK位是服务器发送的SYN位加1。即:SYN=11,ACK=101。这样我们的连接就建立起来了。
DDoS究竟如何攻击?目前最流行也是最好用的攻击方法就是使用SYN-Flood进行攻击,SYN-Flood也就是SYN洪水攻击。SYN- Flood不会完成TCP三次握手的第三步,也就是不发送确认连接的信息给服务器。
这样,服务器无法完成第三次握手,但服务器不会立即放弃,服务器会不停的重试并等待一定的时间后放弃这个未完成的连接,这段时间叫做SYN timeout,这段时间大约30秒-2分钟左右。
若是一个用户在连接时出现问题导致服务器的一个线程等待1分钟 并不是什么大不了的问题,但是若有人用特殊的软件大量模拟这种情况,那后果就可想而知了。
更多精彩
赞助商链接