SYN_SENT是TCP连接的发起方第一次发给接受放的时候设置成的状态。
可以通过netstat -ano查看,其中 在"state" 中可能会有 SYN_SENT。
如果在"state"中出现大量的"SYN_SENT ",那么你很有可能中了蠕虫病毒。这类病毒为了感染别的计算机,它就要扫描别的计算机,在扫描的过程中对每个要扫描的计算机都要发出了同步请求,这也是出现许多SYN_SENT的原因。
SYN_SENT洪水攻击:
SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费服务器CPU和内存资源。SYN攻击聊了能影响主机外,还可以危 害路由器,防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。
我们知道,在网络中两台电脑建立TCP连接时需要进行三次握手过程,客户端首先向服务器发关TCP SYN数据包,接着服务器会向客户端发关相应的SYN ACK数据包,最后客户端会以ACK进行响应,从而建立正常的握手过程。在具体的连接细节中,服务器最早接受到SYN包时,在TCP协议栈中会将相应的半连接记录添加到队列中,之后等待接受下面准备握手的数据包。如果握手成功,那么这个半连接记录将从队列中删除,或者当服务器未收到客户端的确认包时,会重发请求包,一直到超时才将此条目从未连接队列删除。但是,在服务器中的TCP协议栈中存储的半连接记录是有限的。当服务器受到SYN型的DOS攻击后。队列会很快处于充满状态,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送SYN包。服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢严重者引起网络堵塞甚至系统瘫痪。服务器随后就不再接受新的网络连接,从而造成正常的客户端无法访问服务器的情况发生。
正常情况下,出现SYN_SENT的state应该很少,并且短暂。如果一个连接长时间处在SYN_SENT,有可能是没连上,比如端口没有打开。
原文链接:https://blog.csdn.net/icebergliu1234/article/details/104737407