luv*_*eet 5 command-line networking 16.04
该ss
命令与 command 非常相似,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
Run Code Online (Sandbox Code Playgroud)
这是输出的第一行。该命令告诉系统中所有打开的套接字。
我的系统上总共有 96 个,其中 56 个具有u_str
asNetid
和其余的tcp
.
这是什么u_str
,还请解释更多关于Recv-Q
和Send-Q
?
u_str
是一个流套接字,相当于netstat
的 SOCK_STREAM。
SOCK_STREAM:这是一个流(连接)套接字。
来自维基百科:
在计算机操作系统中,流套接字是一种进程间通信套接字或网络套接字,它提供面向连接的、有序的、唯一的数据流,没有记录边界,具有用于创建和销毁连接以及检测错误的明确定义的机制。
让我们创建一个流套接字:
netcat -lU /tmp/streamsocket
Run Code Online (Sandbox Code Playgroud)
现在运行:
ss -an | grep streamsocket
Run Code Online (Sandbox Code Playgroud)
它将输出:
u_str LISTEN 0 5 /tmp/streamsocket 123360 * 0
Run Code Online (Sandbox Code Playgroud)
简单来说,就是socket的类型,可以是“UDP”,也可以是“TCP”。让我们创建一个 UDP 套接字:
netcat -lu 127.0.0.1 8060
Run Code Online (Sandbox Code Playgroud)
现在,ss -l sport = 8060
我会告诉你这是一个“UDP”而不是“u_str”。
对于“Recv-Q”和“Send-Q”列,请参阅man 8 netstat
:
Recv-Q 连接到此套接字的用户程序未复制的字节数。
Send-Q 远程主机未确认的字节计数。
归档时间: |
|
查看次数: |
10168 次 |
最近记录: |