GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Pakete mit Tcpdump erfassen und mit Wireshark auf Ubuntu analysieren

In diesem Handbuch zeige ich Ihnen, wie Sie Netzwerkpakete unter Linux analysieren. Ich werde die Tools Tcpdump und Wireshark verwenden. Dieses Tutorial verwendet Ubuntu als Betriebssystem, ist aber auch auf andere Linux-Distributionen anwendbar.

Warum brauchen Sie Tcpdump?

Eine offensichtliche Frage, die sich vielleicht stellt, ist, warum man sich um Tcpdump kümmern sollte, wenn man mit Wireshark fast alles machen kann. Nun, hier ist die Antwort darauf:Manchmal ist es bequemer, Tcpdump für die Paketerfassung zu verwenden als Wireshark. Wenn beispielsweise der Zielcomputer, auf dem Sie Pakete erfassen, ein Remote-Computer ist, auf dem Wireshark nicht installiert ist, oder wenn es sich nur um einen Remote-Headless-Computer handelt, ist Tcpdump in beiden Fällen sehr praktisch. Um sich verschiedene Optionen anzusehen, die mit Tcpdump verwendet werden können, suchen Sie nach den Manpages.

Was ist Tcpdump?

Tcpdump ist eine Befehlszeilen-Alternative zu Wireshark. Es dient demselben Zweck wie Wireshark, das den Datenverkehr erfasst und analysiert. Tcpdump ist eine separate Anwendung und sollte nicht als Wireshark-Befehlszeilenschnittstelle betrachtet werden. Da es auf der Kommandozeilenschnittstelle basiert, ist es nicht so einfach zu handhaben wie Wireshark. Neue Benutzer können es zunächst entmutigend finden, wenn sie anfangen, es zu verwenden, und können viele schwer zu merkende Befehle und Syntax finden.

Gliederung dieses Tutorials

Lassen Sie uns nun zum Hauptzweck dieses Leitfadens kommen. In diesem Handbuch werden wir sehen, wie wir Tcpdump mit Wireshark interagieren können. Hier weisen wir auf die Arbeit hin, die wir in diesem Leitfaden erledigen werden:

  1. Verbinden mit dem Remote-Rechner (Host 2) mit SSH.
  2. Traffic mit Tcpdump erfassen und Capture speichern.
  3. Senden der Capture-Datei an den Computer vor Ort (Host 1), auf dem Wireshark installiert ist.
  4. Verwenden von Wireshark zum Analysieren der erfassten Tcpdump-Sitzung.

Preflight-Check

Für dieses Tutorial verwenden wir zwei Ubuntu 20.04-Rechner. Sie müssen sie selbst konfigurieren. Unsere IP-Konfiguration ist wie folgt:

Host 1 (Rechner vor Ort):192.168.186.150

Host 2 (Remote-Rechner):192.168.186.201

Die in dieser Anleitung erwähnten Schritte sollten auf jedem Linux-System funktionieren, wenn die folgenden Anforderungen erfüllt sind:

  1. Vor-Ort-Host (Host 1) mit installiertem Wireshark und konfiguriertem SSH.
  2. SSH-Zugriff vom lokalen Host (Host 1) auf den Remote-Host (Host 2).
  3. Tcpdump und SSH auf dem Remote-Host (Host 2) konfiguriert.
  4. „sudo“-Benutzerkonto auf Host 2 zum Ausführen von Tcpdump und auch auf Host 1 (abhängig von der Konfiguration von Wireshark).

Fangen wir an …

Um fortzufahren, verbinden Sie sich von Ihrem Rechner vor Ort (Host 1) mit dem Remote-Rechner (Host 2) mit dem SSH-Zugriffsprotokoll. Wir haben bereits die SSH-Verbindung zwischen den beiden Maschinen eingerichtet. Wir verwenden also den folgenden Befehl vom Host 1-Terminal, um eine Verbindung zu Host 2 herzustellen:

$ ssh ‘Benutzername’@’IP_von_Host2’

Ersetzen Sie hier 'user_name' durch den Benutzernamen von Host 2, mit dem wir uns verbinden, und 'IP_of_Host2' ist die IP-Adresse von Host 2. Siehe folgendes Bild als Referenz:


Überprüfen Sie nun die verfügbaren Schnittstellen auf dem Remote-Rechner, auf denen Tcpdump erfassen kann. Verwenden Sie dazu den Befehl:

$ tcpdump --list-interfaces

Beispielausgabe:

1.enp0s3 [Up, Running]
2.lo [Up, Running, Loopback]
3.any (Pseudo-Gerät, das auf allen Schnittstellen erfasst) [Up, Running]
4. eno1 [Up]
5.bluetooth-monitor (Bluetooth Linux Monitor) [none]
6.nflog (Linux netfilter log (NFLOG) interface) [none]
7.nfqueue (Linux netfilter Warteschlange (NFQUEUE)-Schnittstelle) [keine]
8.bluetooth0 (Bluetooth-Adapter Nummer 0) [keine]


Wie Sie sehen können, ist die Schnittstelle „enpos3“ in Betrieb. Legen wir es also als Zielschnittstelle fest und führen den Befehl tcpdump hier aus. Wenn Sie das Gefühl haben, dass Sie genug Pakete erfasst haben, drücken Sie einfach „Strg+c“, um die Paketerfassung abzuschließen. Der Befehl lautet:

$ sudo tcpdump -s 65535 -i enp0s3 -w my_remote_capture.pcap


Im obigen Befehl haben wir die folgenden Optionen mit Tcpdump verwendet:

  1. -s:Ältere Versionen von Tcpdump kürzen Pakete auf 68 oder 96 Byte. Die Option ‚-s‘ wird zum Erfassen von Paketen mit voller Länge verwendet.
  2. -i:Wählt die zu hörende Schnittstelle aus.
  3. -w:Es speichert die erfassten Rohpakete in einer Datei, anstatt sie auf dem Terminal anzuzeigen.

Der erfasste Datenverkehr wird in der Datei „my_remote_capture.pcap“ gespeichert. Diese Datei übertragen wir nun zur Analyse mit Wireshark auf Host 1. Für die Übertragung der Datei verwenden wir den Befehl ‚scp‘. Auch hier haben wir „scp“ bereits so konfiguriert, dass es zwischen den beiden Maschinen funktioniert. Die Befehlssyntax ist wie folgt:

$ scp my_remote_capture.pcap 'username'@'IP_of_remote_machine':

Hier ist 'username' der Name des Benutzers auf Host 1 und 'IP_of_remote_machine' ist auch die IP von Host 1.


Prüfen Sie auf dem Rechner vor Ort (Host 1), ob Sie die Datei erhalten haben. In unserem Fall haben wir die Datei erfolgreich erhalten und werden sie wie unten gezeigt mit Wireshark öffnen:


Hier ist der Screenshot der Capture-Datei von Host 1:

Analysieren der Capture-Datei

Lassen Sie uns einen Anzeigefilter auf die obige Datei anwenden. Da wir über SSH mit Host 2 verbunden waren, sollten einige Spuren des SSH-Protokolls vorhanden sein. Geben Sie in das dem Anzeigefilter entsprechende Textfeld „ssh“ ein:


Im obigen Bild sehen wir nur die Pakete mit dem 'SSH'-Protokoll.

Abschluss… 

Herzlichen Glückwunsch, wir haben endlich gezeigt, wie wir eine Remote-Erfassung auf einem Computer durchführen können. Wir haben gesehen, wie wir Tcpdump mit Wireshark kombinieren können.


Ubuntu
  1. Installieren und starten Sie mit MySQL Workbench unter Ubuntu

  2. WordPress Installation auf Ubuntu Linux mit Apache und MySQL

  3. Fehler mit Vagrant und Ubuntu 12.10 mit Rvm?

  4. Probleme mit Nvidia GPU und Ubuntu 16.04?

  5. Pakete mit tcpdump erfassen

Installieren von Lighttpd mit PHP5- und MySQL-Unterstützung auf Ubuntu 10.04

Virtuelles Hosting mit vsftpd und MySQL auf Ubuntu 12.04

Virtuelles Hosting mit vsftpd und MySQL auf Ubuntu 12.10

Installieren von Nginx mit PHP5- und MySQL-Unterstützung auf Ubuntu 8.10

Installieren und verwenden Sie Wireshark unter Ubuntu Linux

So installieren und verwenden Sie Wireshark unter Ubuntu 21.04