與套接字關聯的用戶

與套接字關聯的用戶

我用來ss -p查看 TCP 套接字資訊。但某些套接字不會列印進程資訊。以下:

$ ss -p4
State  Recv-Q  Send-Q  Local Address:Port   Peer Address:Port
ESTAB  0       0       10.146.18.213:50368  199.7.59.72:http

但使用 sudo,我可以看到進程資訊:

$ sudo ss -p4
State  Recv-Q  Send-Q  Local Address:Port   Peer Address:Port
ESTAB  0       0       10.146.18.213:50368  199.7.59.72:http      users:(("sshd",473,18))

使用netstat -net,無需root,我可以看到用戶:

$ netstat -net
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       User       Inode
tcp        0      0 10.146.18.213:50368         199.7.59.72:80              ESTABLISHED 222        3693189

我的用戶 ID 是 222:

$ id -u
222

但 ss 僅顯示 root 的進程資訊。

我的問題是:

  1. 為什麼存在沒有關聯用戶的套接字?
  2. 這些沒有用戶的socket是否接受owneriptables的模組匹配?

答案1

我想說你的“sudo ss”顯示與用戶 sshd 相關的連接,同時“netstat -net” - 與你自己的用戶相關。這就是為什麼 netstat 的版本不需要 sudo 來查找有關套接字的詳細資訊。

ss -e也可以用來取得 UID。

相關內容