netstat -anp/ss -t里的Send-Q和Recv-Q含义

Send-Q

对方没有收到的数据或者说没有Ack的,还在本地缓冲区

Recv-Q

数据已经在本地接收缓冲区,但是还没有recv()
The count of bytes not copied by the user program connected to this socket.
单位是字节,是表示程序总共还有多少字节的数据没有从内核空间的套接字缓存拷贝到用户空间。

CLOSE_WAIT

远端主动关闭连接,本地等待应用程序app关闭后,发送FIN,然后进入LAST_ACK状态,等待远端的ACK,接收到ACK后,进入CLOSED结束状态

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 1 0 127.0.0.1:8071 127.0.0.1:46423 CLOSE_WAIT 5782/java
tcp 1 0 127.0.0.1:8071 127.0.0.1:41958 CLOSE_WAIT 5782/java
tcp 1 0 127.0.0.1:8071 127.0.0.1:42004 CLOSE_WAIT 5782/java
tcp 1 0 127.0.0.1:8071 127.0.0.1:52313 CLOSE_WAIT 5782/java

异常情况

如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击。堆积说明应用处理不过来,必然导致有些服务请求超时,从而表现为拒绝服务

如果发送队列Send-Q不能很快的清零,可能是应用向外发送数据包过快,或者是对方接收数据包不够快。

原文地址:https://www.cnblogs.com/shengulong/p/11435227.html