ngrep – Ein Netzwerkpaketanalysator für Linux

Ngrep (network grep) ist ein einfacher, aber leistungsstarker Netzwerkpaketanalysator. Es ist ein Grep-ähnliches Tool, das auf die Netzwerkschicht angewendet wird – es entspricht dem Datenverkehr, der über eine Netzwerkschnittstelle geleitet wird. Sie können einen erweiterten regulären oder hexadezimalen Ausdruck angeben, der mit Datennutzlasten (den tatsächlichen Informationen oder Nachrichten in übertragenen Daten, jedoch nicht automatisch generierten Metadaten) von Paketen übereinstimmt.

Dieses Tool arbeitet mit verschiedenen Arten von Protokollen, einschließlich IPv4 /6, TCP, UDP, ICMPv4/6, IGMP sowie Raw auf einer Reihe von Schnittstellen. Es funktioniert auf die gleiche Weise wie tcpdump Packet Sniffing Tool.

Das Paket ngrep kann aus den Standard-System-Repositorys in gängigen Linux-Distributionen mit dem Paketverwaltungstool wie gezeigt installiert werden.

$ sudo apt install ngrep$ sudo yum install ngrep$ sudo dnf install ngrep

Nach der Installation von ngrep können Sie den Datenverkehr in Ihrem Linux-Netzwerk anhand der folgenden Beispiele analysieren.

1. Mit dem folgenden Befehl können Sie alle Ping-Anforderungen auf der Standardarbeitsoberfläche abgleichen. Sie müssen ein anderes Terminal öffnen und versuchen, einen anderen Remotecomputer zu pingen. Das Flag -q weist ngrep an, leise zu arbeiten und keine anderen Informationen als Paketheader und deren Nutzlasten auszugeben.

Sie können Ctrl + C drücken, um es zu beenden.

2. Um nur den Datenverkehr abzugleichen, der zu einer bestimmten Zielwebsite führt, zum Beispiel ‘google.com Führen Sie den folgenden Befehl aus und versuchen Sie dann, über einen Browser darauf zuzugreifen.

3. Wenn Sie im Internet surfen, Führen Sie den folgenden Befehl aus, um zu überwachen, welche Dateien Ihr Browser anfordert:.

4. Führen Sie den folgenden Befehl aus, um alle Aktivitäten an Quell- oder Zielport 25 (SMTP) anzuzeigen.

$ sudo ngrep port 25

5. Verwenden Sie den folgenden Befehl, um den netzwerkbasierten Syslog-Datenverkehr auf das Auftreten des Wortes “Fehler” zu überwachen.

 $ sudo ngrep -d any 'error' port 514

Wichtig ist, dass dieses Tool Dienstportnamen, die in “/ etc/services” (auf Unix-ähnlichen Systemen wie Linux) gespeichert sind, in Portnummern konvertieren kann. Dieser Befehl entspricht dem obigen Befehl.

$ sudo ngrep -d any 'error' port syslog

6. Sie können ngrep auch gegen einen HTTP-Server (Port 80) ausführen, der alle Anforderungen wie gezeigt an den Zielhost anpasst.

Wie Sie in der obigen Ausgabe sehen können, werden alle übertragenen HTTP-Header in ihren blutigen Details angezeigt. Es ist jedoch schwer zu analysieren, also schauen wir uns an, was passiert, wenn Sie den Byline-Modus -W anwenden.

7. So drucken Sie einen Zeitstempel in Form von JJJJ / MM / TT HH: MM: SS.UUUUUU jedes Mal, wenn ein Paket abgeglichen wird, verwenden Sie das Flag -t.

8. Fügen Sie das Flag -p hinzu, um zu vermeiden, dass die überwachte Schnittstelle in den Promiscuous-Modus versetzt wird (in dem jedes Netzwerkpaket, das vollständig ankommt, abgefangen und gelesen wird).

$ sudo ngrep -p -W byline port 80

9. Eine weitere wichtige Option ist -N, die nützlich ist, wenn Sie rohe oder unbekannte Protokolle beobachten. ngrep wird angewiesen, die Subprotokollnummer zusammen mit der einstelligen Kennung anzuzeigen.

$ sudo ngrep -N -W byline

Weitere Informationen finden Sie auf der ngrep-Manpage.

$ man ngrep

ngrep Github repository: https://github.com/jpr5/ngrep

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.