Open Source im professionellen Einsatz
Linux-Magazin 02/2011
© j.berger, Photocase.com

© j.berger, Photocase.com

Aus dem Alltag eines Sysadmin: Lsof

Kurz über lang

Je kürzer das Kommando, desto länger ist die Liste der möglichen Parameter. Das gilt nicht nur für

438

Lsof, ohne jeden weiteren Parameter ausgeführt, gibt eine lange, lange Liste aller geöffneten Dateien aus. Der Rattenschwanz ist nach der PID sortiert, beginnt also mit »init« . Auf dem Notebook, das ich gern zum Testen benutze, bringt es diese Liste auf nicht weniger als 6778 Einträge – schnell erfassbar ist etwas ganz anderes. Fast alle Kommandozeilenparameter, die Lsof entgegenzunehmen willens ist, lichten nur diesen Dateien-Filz.

Wenn ich zum Beispiel wissen möchte, welcher Prozess eine bestimmte Datei im Zugriff hat, gebe ich einfach deren Namen als Parameter an. Daraufhin liefert das Kommando »lsof /var/log/syslog« – leicht gekürzt – die folgende Ausgabe:

COMMAND PID USER
rsyslogd 683 syslog

Auf meinem System läuft also Rsyslog. Jetzt interessiert mich aber auch, mit welchen Dateien Rsyslog außerdem noch jongliert – das Kommando »lsof -c rsyslog« verrät es. Alternativ lasse ich mir außerdem alle Dateien ausgeben, die dem Benutzer »syslog« gehören. Diese Funktion übernimmt der Parameter »-u syslog« .

Da unter Linux sprichwörtlich alles ein File ist, also auch die Netzwerk-Sockets, präsentiert mir das Kommando »lsof -iTCP« alle aktuellen Netzwerkverbindungen. Wenn ich aber nur Dienste sehen will, die auf Verbindungen warten, ergänze ich die Zeile zu:

lsof -iTCP | grep LISTEN

Interessiert mich dagegen nur der Datenverkehr auf einem ganz bestimmten Port, etwa für SSH, zeigt mir »lsof -i :22« alle mit dem Port 22 assoziierten Verbindungen an.

Clever filtern, um zu wissen, was rausgeht

Auch ausgehende Verbindungen zu einem bestimmten Server kann ich ausfiltern. Dazu hänge ich an den »-i« -Parameter ein »@« gefolgt vom Namen oder der IP-Adresse des Zielsystems an, Abbildung 1 zeigt ein Beispiel. Diesen Filter zu verfeinern gelingt, indem ich die Nummer des Zielports anhänge:

Abbildung 1: Ausgehende Verbindungen in Richtung eines bestimmten Servers analysieren gelingt mit Anfragen nach dem Schema lsof -i@example.com.

lsof -i@example.com:22

Mit »-a« haben die Lsof-Erfinder um Victor A. Abell an Anwender wie mich gedacht, die gelegentlich Filterfunktionen verketten wollen:

lsof -a -u charly -i@example.com:22

Dieser Befehl listet alle ausgehenden SSH-Verbindungen zum Server Example.com, die Benutzer »charly« aufgebaut hat. Lsof ist also nur auf den ersten Blick unscheinbar, nach dem zweiten und »man lsof« wird es zum unverzichtbaren Werkzeug. (jk)

Der Autor

Charly Kühnast administriert Unix-Systeme im Rechenzentrum Niederrhein in Kamp-Lintfort. Zu seinen Aufgaben gehören die Sicherheit und Verfügbarkeit der Firewalls und der DMZ. Im heißen Teil seiner Freizeit frönt er dem Kochen, im feuchten Teil der Süßwasseraquaristik und im östlichen lernt er Japanisch.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 1 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Besserwisser

    Dieses Tool weiß alles über geöffnete Dateien und Netzwerkverbindungen und verrät, welcher Prozess gerade welche Files und Sockets nutzt. Dabei gibt sich Lsof recht gesprächig. Passende Parameter reduzieren die Informationsflut und qualifizieren das Werkzeug gar für die Sicherheitsanalyse.

  • Einführung

    Heute geht es um zwei praktische Tools, die zwar die meisten Linuxe serienmäßig installiert haben, die aber trotzdem kaum einer kennt: Pmap und Lshw. Das eine analysiert detailliert den RAM-Bedarf von Programmen, das andere erfasst die Hardware-Ausstattung des Rechners genauer, als wenn man ihn zerlegt.

  • Logangebot

    Stark beanspruchte Dienste schreiben gigantisch Log-Informationen auf die Platte. Das ist nicht nur Storage-mäßig bedenklich, sondern führt auch Grep und die üblichen Statistiktools über ihre Grenzen. Den Syslog-Daemon mit einer Datenbank zu verheiraten könnte helfen. Gesagt, getan.

  • Telefon für den Spion

    Charly schnappt in Berlin auf, dass der Portscanner Nmap einen spezialisierten Vetter bekommen hat, der ein Faible für Telefone hat: Smap scannt Netze nach VoIP-Geräten.

  • Einführung

    Manchmal möchte Kolumnist Charly wissen, was er wann auf einem Server Geniales getan hat. Eine unfehlbare Gedächtnisstütze zu finden? Peanuts!

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.