Ich ss -p
sehe mir normalerweise TCP-Socket-Informationen an. Aber für einige Sockets werden die Prozessinformationen nicht ausgedruckt. Unten:
$ 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
Aber mit sudo kann ich die Prozessinformationen sehen:
$ 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))
Ohne netstat -net
Root kann ich den Benutzer sehen:
$ 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
Meine Benutzer-ID ist 222:
$ id -u
222
Aber SS zeigt Prozessinformationen nur mit Root an.
Meine Fragen sind:
- Warum gibt es Sockets ohne zugeordneten Benutzer?
- Unterliegen diese Sockets ohne Benutzer dem
owner
Modulabgleich von iptables?
Antwort1
Ich würde sagen, Ihr „sudo ss“ zeigt eine Verbindung zum Benutzer sshd an, während „netstat -net“ eine Verbindung zu Ihrem eigenen Benutzer anzeigt. Aus diesem Grund erfordert die Version von netstat kein sudo, um die Details zum Socket herauszufinden.
Sie können es ss -e
auch verwenden, um die UID zu erhalten.