ss
命令非常类似于netstat
命令,但它比netstat
更快、更精确。
monitoring-server@monitoring-server:~$ ss
Netid State Recv-Q Send- Local Address:Port Peer Address:Port
u_str ESTAB 0 0 * 34006 * 34007
这是外挂的第一行。此命令通知系统中打开的所有套接字。
在我的系统上,总数是96,其中56个有u_str
作为Netid
,rest有tcp
。
这里的u_str
是什么,也请解释更多关于Recv-Q
和Send-Q
的内容?
发布于 2017-05-17 22:28:19
u_str
是一个流套接字,相当于netstat
's SOCK_STREAM。
SOCK_STREAM:这是一个流(连接)套接字。
来自维基百科:
在计算机操作系统中,流套接字是一种进程间通信套接字或网络套接字,它提供面向连接、有序和唯一的无记录边界的数据流,具有创建和破坏连接以及检测错误的定义良好的机制。
让我们创建一个流套接字:
netcat -lU /tmp/streamsocket
现在运行:
ss -an | grep streamsocket
它将输出:
u_str LISTEN 0 5 /tmp/streamsocket 123360 * 0
简而言之,它也可以是"UDP“或"TCP”的套接字类型。让我们创建一个UDP套接字:
netcat -lu 127.0.0.1 8060
现在,ss -l sport = 8060
将告诉您,这是一个"UDP“而不是"u_str”。
有关"Recv-Q“和”Send“列,请参阅man 8 netstat
:
未被连接到此套接字的用户程序复制的字节数。发送-q远程主机未确认的字节数。
发布于 2017-12-07 10:14:58
ss
转储s
ocket s
tatistics。Netid u_str
是unix_stream
的缩写,即自动对焦_UNIX套接字家族和袜子_流套接字类型:
AF_UNIX
(也称为AF_LOCAL
)套接字家族用于有效地在同一台机器上的进程之间进行通信。传统上,UNIX域套接字可以是未命名的,也可以绑定到文件系统路径名(标记为socket类型)。Linux还支持一个独立于文件系统的抽象命名空间。SOCK_STREAM
提供有序、可靠、双向、基于连接的字节流.可支持带外数据传输机制。
来自快速入门ss
(/usr/share/doc/iproute2-doc/ss.html
):
然后两列(Recv和Send)显示排队等待接收和发送的数据量。
对于unix套接字,它是unix_diag_rqlen
from unix_diag.h
。
https://askubuntu.com/questions/916241
复制相似问题