首页 > 编程知识 正文

tcp协议,tcp syn攻击

时间:2023-05-06 19:36:03 阅读:114668 作者:459

SYN_SENT是TCP连接的启动器首次发送和接收时设置的状态。

可以在netstat -ano上看到

其中' state '中可能有SYN_SENT

“state”发生大量“SYN_SENT”时,很可能感染了蠕虫。 这些病毒会扫描另一台计算机以感染其他计算机,并对扫描期间要扫描的每台计算机发出同步请求。 这也是发生很多SYN_SENT的原因。

SYN_SENT洪水攻击:

SYN攻击是一种DOS攻击,利用TCP协议的缺陷,通过发送大量的半连接请求来消耗服务器CPU和内存资源。 SYN攻击除了影响主机外,还可以影响路由器、防火墙等网络系统,实际上,无论目标是什么系统,只要这些系统打开TCP服务,都可以实施SYN攻击。

我们知道网络上的两台计算机需要三次握手才能建立TCP连接。 客户端首先向服务器发送TCP SYN数据包,然后服务器向客户端发送相应的SYN ACK数据包。

最后,客户端用ACK响应,建立正常的握手过程。 在特定连接详细信息中,当服务器第一次接收SYN包时,TCP协议栈会将相应的半连接记录添加到队列中,然后等待接收准备握手的包

握手成功后,此半连接记录将从队列中删除。 或者,如果服务器没有从客户端接收到确认包,则在超时之前将重新发送请求包,并且此条目不会从连接队列中删除。 但是,

存储在服务器中TCP协议栈上的半连接记录有限,服务器受到SYN类型的DOS攻击后,队列立即满,客户端在短时间内伪造大量不存在的IP地址,继续向服务器发送SYN数据包。

服务器回复确认数据包,等待客户确认。 由于源地址不存在,服务器必须重复重发,直到超时。 这些伪造的SYN数据包占用长时间未连接的队列,放弃正常的SYN请求,目标系统运行缓慢的严重者会引起网络堵塞和系统瘫痪。

此后,服务器将不再接受新的网络连接,并且普通客户端将无法访问服务器

通常,SYN_SENT发生的state应该很少,应该很短

如果连接长时间处于SYN_SENT,则可能没有连接,例如端口没有打开

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。