SYN攻击
SYN攻击涉及到TCP三次握手建立连接过程。三次握手过程和状态如下图所示:
服务器端在监听连接时,需要维护两个队列:
半连接队列:服务器收到用户的SYN包时,服务器进入SYN_RCVD半连接状体,此时会将信息加入到半连接队列中,直到收到第三次握手用户发送回来的ACK或者超时后,才会从半连接队列中移除信息。
连接队列:当完成三次握手后,双方建立起连接后,会将信息从半连接队列中删除,在连接队列中加入相关信息。
SYN攻击就是在服务器处于SYN_RCVD期间使用虚假IP构造出大量的SYN数据报,请求连接服务器,但是由于服务器无法收到用户的ACK,因此很快就会使得半连接队列塞满,正常的请求连接只能被丢弃,同时服务器还不断进行ACK超时重发而占用资源,从而使正常用户无法连接,还拖慢服务器整体运行速度,甚至会导致网络拥塞。
参考:http://baike.baidu.com/link?url=NZGUTLpqqVZfesGr8UKxcRz0Bd0leScnUXqmqbRjpozixSxMuSmNjxXUnJ0udSRKni2-MpaYwczQhoxGUAnwNa