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
ユーザーを表示できます。
$ 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はルートプロセス情報のみを表示します。
私の質問は次のとおりです
- 関連ユーザーがないソケットがあるのはなぜですか?
- これらのユーザーがいないソケットは
owner
iptablesモジュールと一致しますか?
答え1
「sudo ss」はユーザーsshdに関連する接続を示し、「netstat -net」は自分のユーザーに関連付けられた接続を表示すると言いたいと思います。これがnetstatバージョンでソケットの詳細を見つけるためにsudoを要求しない理由です。
ss -e
UIDの取得にも使用できます。