Lsof Netzwerk
Mit Lsof kann man sowohl offene Files finden und es ist zugleich ein Troubleshooting-Tool für den Netzwerker
=Welche Ports geöffnet sind
- lsof -n -i
Welche sind im TCP Ports sind Listen Modus
- lsof -i -sTCP:LISTEN
Eingrenzen der Ergebisse=
- lsof -n -i :imaps
Das Weglassen einer IP-Adresse vor dem Doppelpunkt wirkt hier wie eine Wildcard: Alle Prozesse mit offenen IMAP-Ports erscheinen in der Ausgabe. Statt auf das Protokoll ließe sich das Listing beispielsweise auch auf einen User beschränken, das ermöglicht die Option »-u«. Natürlich lassen sich auch beliebige Optionen kombinieren. Dabei ist jedoch zu beachten, dass »lsof« per Default alle Optionen mit »OR« verknüpft.
Wer sich aber für die IMAP-Verbindungen des Users »jcb« interessiert, braucht stattdessen eine AND-Verknüpfung. Die stellt der Schalter »-a« her:
lsof -a -n -u jcb -i :imaps Man könnte auch fragen: Was macht der User »jcb« in Verbindung mit einer bestimmten IP-Adresse? Oder anders formuliert:
lsof -a -u jcb -i @IP-Adresse Die Suchparameter lassen sich auch negieren, dazu dient das Caret-Zeichen. So liefert
lsof -a -n -i TCP -u ^jcb alle TCP-Verbindungen von allen Usern – außer von »jcb«. Statt des Usernamens wäre auch der Name einer Applikation als Filter verwendbar:
lsof -a -n -c firefox -i :https Ein weiterer nützlicher Anwendungsfall ist die Auflistung aller vorhandenen Sockets mit dem Parameter »-U«. Hier kann der Admin die Ergebnisliste wieder eingrenzen, wie schon gezeigt. Alle Sockets des Dateimanagers Nautilus zeigt etwa:
lsof -a -n -U -c nautilus Anstelle des Namens der Applikation kann er auch die PID eines Prozesses mit dem Parameter »-p« angeben. Und natürlich ist »lsof« auch dann nützlich, wenn die Files gewöhnliche Dateien sind. So listet
lsof +D /var/log alle offenen Dateien unter »/var/log«. Auch lassen sich die Lsof-Ausgaben gewinnbringend durch andere Kommandos oder in Shellskripten weiterverarbeiten. Ein Beispiel ist die Aufgabe, alle Prozesse eines bestimmten Nutzers zu beenden. Das gelingt zum Beispiel so: