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를 얻는 데 사용할 수도 있습니다 .