简单说说TCP(4) --- SYN攻击

什么是SYN攻击

首先,普及一下TCP建立连接三次握手的过程:

  • 客户端发送SYN请求建立连接;
  • 服务器回应SYN-ACK之后,进入SYN_RECV状态,此时称为半连接(half-open connect);
  • 客户端发送ACK,服务器转入ESTABLISHED状态;

SYN攻击是一种典型的DDOS攻击。客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送SYN包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。

如何检测SYN攻击

当你在服务器上看到大量的半连接状态时,特别是源IP地址是随机的,基本上可以断定这是一次SYN攻击。

在Linux下可以用如下命令检测:

netstat -n -p TCP | grep SYN_RECV

应对SYN攻击的方法

  • SynAttackProtect
  • SYN cookies技术
  • 增加最大半连接和缩短超时时间

你可能感兴趣的:(tcp,syn攻击)