So verwenden Sie LSOF zur Überwachung von Ports in Echtzeit

So Verwenden Sie Lsof Zur Uberwachung Von Ports In Echtzeit



LSOF (List Open Files) ist ein Befehlszeilen-Überwachungstool, das in Linux/Unix-ähnlichen Betriebssystemen verwendet wird. Der LSOF-Befehl stellt Informationen über aktive Dateien und Prozesse bereit, die derzeit auf sie zugreifen.

Das LSOF-Befehlszeilentool ist für Systemadministratoren und Entwickler von großem Nutzen, da es ihnen Folgendes ermöglicht:

  • Ermitteln Sie die Prozesse, die derzeit eine bestimmte Datei oder einen bestimmten Port verwenden. Dies ist besonders wichtig im Falle von Portkonflikten
  • Erkennen Sie gelöschte, aber noch geöffnete Dateien durch Prozesse, die zu unnötigem Speicherplatzverbrauch führen können; Der LSOF-Befehl dient der Identifizierung und Adressierung solcher Instanzen
  • Hilft effektiv bei der Fehlerbehebung, z. B. „Port wird bereits verwendet“.
  • Verfolgen Sie die Netzwerkaktivität und öffnen Sie Netzwerkverbindungen zu Überwachungszwecken
  • Untersuchen Sie Dateizugriffsmuster und tragen Sie so zur Identifizierung potenzieller Sicherheitsverletzungen bei

In diesem Tutorial erfahren Sie, wie Sie mit dem LSOF-Befehl die Echtzeit-Ports überwachen.







Grundlegende Syntax des LSOF-Befehls

Die Syntax des LSOF-Befehls lautet wie folgt:



$ lsof [ Optionen ] [ Namen ]

Optionen sind die Flags, die mit dem LSOF-Befehl verwendet werden. Namen stellen Dateinamen, PIDs (Prozess-IDs), Benutzernamen oder Netzwerkdateien (IPv4, IPv6) dar. Abhängig von den bereitgestellten Optionen zeigt der LSOF-Befehl eine Liste der geöffneten Dateien an, die diesen Namen entsprechen.



Überwachen Sie Ports in Echtzeit mit dem LSOF-Befehl

LSOF ist in vielen Linux-Systemen standardmäßig enthalten. Sie müssen eines der verfügbaren Pakete manuell herunterladen und installieren, wenn es nicht installiert ist. Um die LSOF-Installation auf Ihrem System zu überprüfen, verwenden Sie den folgenden Befehl, um die installierte Version anzuzeigen:





$ lsof -In

Es ist wichtig zu beachten, dass für die Verwendung des LSOF-Befehls mit entsprechenden Berechtigungen einige Informationen zu Prozessen und Netzwerkverbindungen möglicherweise erhöhte Superuser-Berechtigungen erfordern und Sie möglicherweise „sudo“ verwenden müssen, um den Befehl mit Administratorrechten auszuführen.



Listen Sie die Netzwerkdateien auf

Wenn Sie den LSOF-Befehl mit der Option „-i“ ausführen, werden Informationen zu Prozessen angezeigt, die über Netzwerkverbindungen wie Listening-Sockets oder bestehende Verbindungen verfügen.

$ lsof –i

Der vorherige Befehl zeigt Informationen zum Prozessnamen (COMMAND), zur Prozess-ID (PID), zum Benutzer (USER), zum Dateideskriptor (FD), zum Verbindungstyp (TYPE), zu lokalen und Remote-Adressen sowie zum Verbindungsstatus an. Sie sollten die folgende Ausgabe sehen:

Listen Sie die TCP-Verbindungen auf

Sie können die Ausgabe nach bestimmten Kriterien filtern, z. B. nach bestimmten Verbindungstypen oder Ports. Sie könnten beispielsweise „lsof -i tcp“ verwenden, um nur die Prozesse aufzulisten, die mit einer TCP-Verbindung verknüpft sind.

$ lsof -ich TCP: 1 - 1024

Der vorherige Befehl filtert die Informationen über Prozesse, die offene TCP-Verbindungen innerhalb des angegebenen Portbereichs von 1 bis 1024 haben. Dies kann nützlich sein, um zu identifizieren, welche Prozesse die bekannten Ports verwenden, die mit allgemeinen Diensten verknüpft sind.

Überwachen Sie einen bestimmten Port in Echtzeit

Mit LSOF können Sie einen bestimmten Port in Echtzeit überwachen. Sie möchten beispielsweise die Prozesse im Zusammenhang mit „HTTP“ auf Port 80 überwachen, der alle 3 Sekunden aktualisiert wird. Überwachen Sie dazu Port 80 in Echtzeit mit dem folgenden Befehl:

$ lsof -ich : 80 -r3

Überwachen Sie den SSHD-Port 22 in Echtzeit

Führen Sie den folgenden Befehl aus, um alle SSHD-Verbindungen zu überwachen, die auf Port 22 ausgeführt werden:

$ Sudo lsof -ich : 22 -r3

Dieser Befehl überwacht kontinuierlich alle 3 Sekunden die Echtzeitinformationen zu Netzwerkverbindungen auf Port 22 und zeigt sie an. Dies ist besonders nützlich, um Änderungen wie neue SSH-Verbindungen oder Verbindungsabbrüche zu verfolgen, da diese in Echtzeit erfolgen.

Überwachen Sie den Portbereich in Echtzeit

Um die Informationen zu Prozessen in Echtzeit zu überwachen, die offene TCP-Verbindungen innerhalb des angegebenen Portbereichs von 1 bis 1024 haben, können Sie den folgenden Befehl verwenden:

$ lsof -ich TCP: 1 - 1024 -r3

Überwachen Sie alle Ports in Echtzeit

Mit dem LSOF-Befehl können Sie alle Netzwerkverbindungen in Echtzeit überwachen. Sie möchten beispielsweise eine kontinuierliche Überwachung durchführen und alle 5 Sekunden Echtzeitinformationen zu Netzwerkverbindungen anzeigen.

$ lsof -ich -r5

Die folgende Ausgabe enthält die Details zu Prozessen und den zugehörigen Netzwerk-Sockets in Echtzeit alle 5 Sekunden:

Ebenso können Sie mit dem LSOF-Befehl auch nur die „etablierten“ Verbindungen überwachen:

$ lsof -ich -UND -r10

Abschluss

In diesem Tutorial haben wir gelernt, wie man die Ports mit dem LSOF-Befehl in Echtzeit überwacht. Dieser Befehl kann Systemadministratoren und anderen Linux-Benutzern auch dabei helfen, die Netzwerkverbindungen einschließlich aller aktiven oder offenen Ports zu überwachen. Wir hoffen, dass dieser Leitfaden Ihnen hilft zu verstehen, wie Sie den LSOF-Befehl mit verschiedenen Optionen verwenden und die verschiedenen Ports und Prozesse in Echtzeit überwachen.