Finden Sie Prozesse, die auf die Platzhalteradresse in `lsof` hören

823
benizi

Mit lsofkann ich alle Prozesse mit einem TCP-Socket finden, der auf Verbindungen wartet:

lsof -Pni -sTCP:LISTEN

z.B:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME cupsd 662 root 7u IPv6 11108 0t0 TCP [::1]:631 (LISTEN) cupsd 662 root 8u IPv4 11109 0t0 TCP 127.0.0.1:631 (LISTEN) rsyncd 905 root 4u IPv4 13379 0t0 TCP *:873 (LISTEN) ... 

Gibt es eine Möglichkeit (ohne die Ausgabe an ein anderes Programm zu leiten grep, awkoder sed), um dies auf TCP-Sockets zu beschränken, die auf die Platzhalteradresse achten? Versucht:

$ lsof -Pni @0.0.0.0 -sTCP:LISTEN lsof: incomplete Internet address specification: -i @0.0.0.0 

und

$ lsof -Pni @\* -sTCP:LISTEN lsof: unknown host name (*) in: -i @* 

Gibt es eine Möglichkeit, die übergebenen Bedingungen generisch zu negieren lsof?

5
Sieht aus wie ein Fehler in mir! Celada vor 11 Jahren 0

1 Antwort auf die Frage

1
GeoSword

Müssen Sie verwenden lsof?

netstat -tulpnzeigt die Prozesse, die an einem bestimmten Port überwacht werden. Prozesse, die auf allen IPs überwacht werden, werden als 0.0.0.0 angezeigt:

Dieser Befehl zeigt jedoch auch Prozesse, die auf eine bestimmte IP-Adresse lauschen, wie "lsof -Pni -sTCP: LISTEN" ?! mpy vor 11 Jahren 0