我正在运行ss -lnp | grep sshd,并收到了以下输出(除了我期望的侦听端口(S)之外)。不知道这是什么:
u_dgr UNCONN 0 0 *78056 *12438 users:(("sshd",pid=22409, fd=4), ("sshd",pid=22337,fd=4)谢谢你帮我破译这个。
发布于 2022-06-22 19:37:55
我试过想办法。以下是我的笔记:
u_dgr =u代表UDS ()。“运行在同一服务器上的程序也可以使用Unix域套接字(UDS)进行通信。Unix域套接字可以是基于流的,也可以是基于数据报的。在使用域套接字时,通过主机文件系统上的文件在操作系统内核中的程序之间直接交换数据。要使用域套接字发送或接收数据,程序可以读取和写入其共享套接字文件,完全绕过基于网络的套接字和协议”(src)。dgr是数据报的。数据报反对代表流的str。dgr类似于UDP,str类似于IP协议的TCP。
UNCONN =未连接就像关闭一样。数据报协议是无状态的,因此ss总是显示像UNCONN这样的连接。
0表示recv-q和send-q。显示队列中的字节数。0表示队列中没有字节。
*78056 *12438表示“用户”中提到的程序:使用任意地址和端口78056将数据发送到远程端口12438和任何地址。sshd程序使用端口78056向systemd发送日志。日志被发送到端口12438。如果您执行ss -lxnp | grep 12438,那么您将看到systemd正在监听12438。
在users:(("sshd",pid=22409, fd=4), ("sshd",pid=22337,fd=4)中,pid用于进程ID.fd用于文件描述符。您可以用ls -lh /proc/22409/fd/检查它。
https://askubuntu.com/questions/816028
复制相似问题