Wie Verwenden Sie Wireshark-Filter auf Linux

0
382
Inara Prusakova/Shutterstock

Wireshark ist ein Welt-Klasse-packet-analyzer verfügbar auf Linux, Windows und macOS. Filter sind flexibel und anspruchsvoll, aber manchmal kontraintuitiv. Wir erklären die “Fallstricke” zu sein, müssen Sie auf dem lookout für.

Packet-Analyse mit Echten Biss

Wireshark ist eines der Juwelen der open-source-Welt. Es ist ein Welt-Klasse-software-tool, verwendet von Profis und Amateure gleichermaßen zu untersuchen und diagnostizieren von Netzwerkproblemen. Software-Entwickler, die es verwenden, zu lokalisieren und zu charakterisieren Fehler in der Kommunikation-Routinen. Sicherheits-Forscher nutzen es, um zu erfassen und otparywajut die bösartige Aktivitäten in einem Netzwerk.

Ein typischer workflow ist die Ausführung in Wireshark-Capture-Modus, so dass es Datensätze Netzwerk-Verkehr über eine der Netzwerkschnittstellen auf dem computer. Die Netzwerkpakete in Echtzeit angezeigt werden, wie Sie sind gefangen. Es ist jedoch in der post-capture-Analysen, dass die Details von dem, was Los ist im Netz offenbart.

Die erfassten Pakete werden genannt, eine Spur zu hinterlassen. Wenn die Aufzeichnung abgeschlossen ist, wird die trace können verstärkt werden durch das, Paket durch den Paket. Sie sind in der Lage zu kontrollieren die jedes Paket in das kleinste detail, die Karte Netzwerk “Gespräche” zwischen den Geräten, und verwenden Sie Filter, um einzuschließen (oder auszuschließen), Pakete aus Ihrer Analyse.

Wireshark ‘ s Filtermöglichkeiten sind unübertroffen, mit großer Flexibilität und Auflösungsvermögen. Es sind Feinheiten, um Ihre syntax, die machen es einfach zu schreiben, ein filter und ein Ergebnis erhalten, das nicht Ihren Erwartungen entsprechen.

Wenn Sie nicht verstehen, wie Filter arbeiten in Wireshark, wirst du nie raus, ersten Gang einlegen und Gas die Fähigkeiten der software.

Die Installation Von Wireshark

Wenn Sie Wireshark installieren, werden Sie gefragt, ob jemand mit einem nicht-root-Konto sollte in der Lage sein, für die Netzwerkablaufverfolgung. Nein zu sagen, könnte dies eine attraktive Idee. Sie vielleicht nicht wollen, dass jeder in der Lage sein, um zu sehen, was im Netzwerk gerade passiert. Jedoch ist die Installation von Wireshark so, dass nur diejenigen, die mit root-Berechtigung verwenden können, es bedeutet, dass alle Ihre Komponenten mit erhöhten Berechtigungen ausgeführt.

Wireshark enthält über 2 Millionen Zeilen komplizierten code, und es interagiert mit Ihrem computer auf der untersten Ebene. Best security practices empfehlen, dass so wenig code wie möglich sollten mit erhöhten Berechtigungen ausführen, insbesondere, wenn sein Betrieb auf einem so niedrigen Niveau.

Es ist viel sicherer zu laufen Wireshark mit einem normalen Benutzer-Konto. Wir können weiterhin einschränken, die die Fähigkeit hat zu laufen Wireshark. Dies erfordert ein paar zusätzliche setup-Schritte, aber es ist der sicherste Weg zu gehen. Die data capture-Elemente von Wireshark noch mit erhöhten Berechtigungen ausführen, aber der rest von Wireshark läuft als normaler Prozess.

Zum starten der installation auf Ubuntu, Typ:

sudo apt-get install wireshark

Auf Fedora, Typ:

sudo dnf install wireshark

Auf Manjaro verwenden Sie diesen Befehl:

sudo pacman -Syu wireshark-qt

Während der installation sehen Sie den Bildschirm unten, empfehlen, dass Sie nicht laufen Wireshark als root. Drücken Sie Tab, um die rote Markierung auf “<OK>” und drücken dann die Space bar.

Auf dem nächsten Bildschirm, drücken Sie Tab, um die rote Markierung auf “<JA>” aus und drücken Sie die Leertaste.

Laufen Wireshark, müssen Sie Mitglied von “wireshark” – Gruppe, die während der installation erstellt wird. Dies ermöglicht Ihnen die Steuerung, die ausgeführt werden kann Wireshark. Wer nicht in den “wireshark” Gruppe kann nicht laufen Wireshark.

Um dich in den “Wireshark” – Gruppe verwenden Sie diesen Befehl:

sudo usermod-a -G wireshark $USER

Für Ihre neue Gruppenzugehörigkeit wirksam wird, können Sie sich Abmelden und wieder an, oder verwenden Sie diesen Befehl:

newgrp wireshark

Um zu sehen, wenn Sie in die neue Gruppe, verwenden Sie den Befehl Gruppen:

Gruppen

Sie sollten sehen, “wireshark” in der Liste der Gruppen.

Starten Sie Wireshark

Starten Sie Wireshark mit dem Befehl unten. Das kaufmännische und-Zeichen (&) startet Wireshark als hintergrund-task, was bedeutet, Sie kann mit dem terminal-Fenster. Sie können sogar schließen Sie das terminal-Fenster und Wireshark laufen weiter.

Geben Sie den folgenden:

Wireshark &

RELATED: Anleitung zur Ausführung und Kontrolle Hintergrund-Prozesse auf Linux

Die Wireshark-Oberfläche erscheint. Die Netzwerk-interface-Geräte in Ihrem computer vorhanden sind, aufgelistet, zusammen mit einigen eingebauten pseudo-Geräte.

Eine wellige Linie, neben einer Schnittstelle bedeutet, dass es live ist und den Netzwerk-Datenverkehr durchläuft es. Eine flache Linie bedeutet, dass es keine Aktivität auf der Schnittstelle. Der oberste Eintrag in dieser Liste ist “enp0s3,” die WLAN-Verbindung für den computer und, wie erwartet, es zeigt Aktivität.

Um die Aufnahme zu beginnen-Pakete, die wir mit der rechten Maustaste “enp0s3”, und wählen Sie dann “Start Capture” in das Kontext-Menü.

Sie können Filter festlegen, um die Menge zu reduzieren von Verkehr, Wireshark erfasst. Wir bevorzugen, um alles zu erfassen und herauszufiltern, was wir nicht wollen, um zu sehen, wenn Sie eine Analyse. So, wir wissen alles, was passiert ist, ist in der Spur. Sie wollen nicht versehentlich verpassen, ein Netzwerk-event, das erklärt die situation, die Sie untersuchen sind aufgrund Ihrer capture-filter.

Natürlich, für high-traffic-Netzwerken, die Spuren können schnell sehr groß werden, damit abfiltrieren zu erfassen, macht es Sinn, in diesem Szenario. Oder vielleicht möchten Sie lieber nur das es so ist.

Beachten Sie, dass die syntax für capture-Filter ist etwas anders als die, für zeigt.

Die hervorgehobenen icons in der Abbildung oben zeigen die folgenden, von Links nach rechts:

  • Shark fin: Wenn dieser blau ist, klicken, wird es starten Sie eine packet capture. Wenn Wireshark ist Pakete erfasst, wird dieses Symbol Grau.
  • Quadrat: Wenn diese rot ist, anklicken, wird es stoppen Sie eine laufende Paket-capture. Wenn Sie Wireshark nicht Pakete erfasst, wird dieses Symbol Grau.
  • Shark fin mit kreisförmigen Pfeil: Wenn diese grün ist, auf es wird stoppen Sie die Laufenden Spur. Dies gibt Ihnen die Möglichkeit, speichern oder löschen Sie die mitgeschnittenen Pakete, und starten Sie die Ablaufverfolgung. Wenn Sie Wireshark nicht Pakete erfasst, wird dieses Symbol Grau.

Die Analyse der Trace

Durch klicken auf das rote Quadrat-Symbol stoppen Sie die Erfassung von Daten so analysieren Sie die Pakete, die in der Ablaufverfolgung erfasst. Die Pakete werden präsentiert in der Zeit um, und die Farbe codiert nach dem Protokoll des Pakets. Die details des markierten Pakets sind dargestellt in den beiden unteren Scheiben in den Wireshark-Schnittstelle.

Ein einfacher Weg, um das Lesen der trace leichter ist, Wireshark aussagekräftigen Namen für die Quell-und Ziel-IP-Adressen der Pakete. Um dies zu tun, klicken Sie auf Ansicht > Name Auflösung und wählen Sie “Beheben von Netzwerk-Adressen.”

Wireshark versucht, um den Namen der Geräte, die Sie gesendet und empfangen jedes Paket. Es wird nicht in der Lage sein, zu erkennen jedes Gerät, aber diese kann es helfen, Sie Lesen die Spur.

Scrollen Sie die Anzeige nach Links verraten mehr Spalten auf der rechten Seite. Die Spalte info zeigt alle Informationen Wireshark erkennen kann aus dem Paket. Im Beispiel unten sehen wir einige ping-Anfragen und-Antworten.

Standardmäßig Wireshark zeigt alle Pakete in der Reihenfolge, in der Sie aufgezeichnet wurden. Viele Geräte senden Pakete hin und her gleichzeitig. Dies bedeutet, dass ein einzelnes Gespräch zwischen zwei Geräten ist wahrscheinlich, um die Pakete von anderen interlaced zwischen Ihnen.

Zu prüfen, ein einzige Gespräch, können Sie zu isolieren, es vom Protokoll. Das Protokoll für jedes Paket angezeigt wird in der Spalte Protokoll. Die meisten Protokolle sehen Sie gehören zu den TCP/IP-Familie. Sie können das genaue Protokoll oder über Ethernet -, als eine Art Fangnetz.

Rechts-klicken Sie auf eines der Pakete in der Sequenz, die Sie überprüfen möchten, und klicken Sie dann auf Gespräch-Filter – > Ethernet. Im Beispiel unten, wählten wir einen ping-request-Paket.

Die Reihenfolge der Pakete angezeigt, ohne andere zwischen Ihnen, wie Wireshark automatisch generierte filter, dies zu tun. Es ist angezeigt, die in der Filterleiste und in grün hervorgehoben ist, welche die syntax der filter korrekt ist.

Um den filter zu löschen, klicken Sie auf “X” auf die filter-bar.

Erstellen Sie Ihre Eigenen Filter

Wir setzen einen einfachen filter in der filter-Leiste:

ip.addr == 192.168.4.20

Dies wählt alle Pakete wurden gesendet oder empfangen, indem Sie das Gerät mit der IP-Adresse 192.168.4.20. Beachten Sie das doppelte Gleichheitszeichen (==) kein Zwischenraum zwischen Ihnen.

Um zu sehen, die gesendeten Pakete, die von einem Gerät (der Quelle), können Sie mit ip.src; zu sehen, dass Pakete angekommen sind, an einem Gerät (dem Ziel), können Sie ip.Sommerzeit, wie unten dargestellt:

ip.dst == 192.168.4.20 && ip.src == 192.168.4.28

Beachten Sie die Verwendung von eine doppelte kaufmännisches und-Zeichen (&&) an das logische “und”. Dieser filter sucht nach Paketen, die angekommen 192.168.4.20 von 192.168.4.28.

Neue Leute Wireshark Filter oft denke, dass ein filter wie dies wird erfassen alle Pakete zwischen zwei IP-Adressen, aber das ist nicht der Fall.

Was es tatsächlich tut, ist, die filter alle Pakete, die zu oder von der IP-Adresse 192.168.4.20, unabhängig davon, Woher Sie kamen oder wohin Sie gesendet wurden. Es macht das gleiche mit der alle Pakete von einer IP-Adresse 192.168.4.28. Einfacher gesagt, es filtert den gesamten Datenverkehr zu oder von einem beliebigen IP-Adresse.

Sie können schauen Sie für die Aktivität auf andere Protokolle, auch. Zum Beispiel, können Sie geben diese filter Aussehen für HTTP-requests:

http.Anfrage

Um auszuschließen, dass Pakete entweder kamen oder geschickt wurden, um ein Gerät, verwenden Sie ein Ausrufezeichen (!) und setzen Sie den filter in Klammern [()]:

!(ip.addr == 192.168.4.14)

Dieser filter schließt alle Pakete, die gesendet oder von 192.168.4.14.

Es ist widersinnig, da der filter enthält, der Gleichheitsoperator (==). Sie hätte erwartet, Sie würde geben Sie diesen filter etwa so:

ip.addr !=192.168.4.14

Aber das funktioniert nicht.

Sie können auch eine Suche nach Zeichenfolgen innerhalb von Paketen, Protokoll. Dieser filter sucht nach TCP (Transmission Control Protocol) – Pakete, die enthalten die Zeichenfolge “youtube”:

tcp enthält youtube

Ein filter, der sieht für die Weiterverbreitung ist nützlich als ein Weg, um zu überprüfen, ob es ein Verbindungsproblem. Weiterverbreitung sind Pakete, die erneut gesendet, weil Sie beschädigt wurden oder verloren während der ersten übertragung. Zu viele Neuübertragungen deutet auf eine langsame Verbindung oder ein Gerät, das langsam zu reagieren.

Geben Sie den folgenden:

tcp.- Analyse.Weiterverbreitung

Geburt, Leben, Tod, und Verschlüsselung

Eine Netzwerk Verbindung zwischen zwei Geräten initiiert wird, wenn man Kontakte der andere und sendet ein SYN (synchronize) Paket an. Das empfangende Gerät sendet eine ACK (Bestätigung) – Paket. Es zeigt an, ob Sie es akzeptieren wird, die Verbindung durch senden einer SYN-Paket.

SYN-und ACK sind eigentlich zwei Fahnen in die gleiche Paket. Das ursprüngliche Gerät erkennt die SYN-durch senden eines ACK, und dann den Geräten eine Netzwerkverbindung herstellen.

Dies ist die sogenannte drei-Wege-handshake:

A -> SYN -> B

A <- SYN, ACK <- B

A -> ACK -> B

In der Abbildung unten jemand auf dem computer “nostromo.lokale” macht eine Secure Shell (SSH) Verbindung zum computer “ubuntu20-04.local.” Die drei-Wege-handshake ist der erste Teil der Kommunikation zwischen den beiden Computern. Beachten Sie, dass die beiden Zeilen, in denen die SYN-Pakete sind farblich in dunkel-Grau.

Scrollen Sie die Anzeige der Spalten auf der rechten Seite zeigt die SYN , SYN/ACK und ACK-handshake-Pakete.

Sie werden feststellen, dass das Paket den Austausch zwischen den beiden Computern wechselt zwischen TCP und SSH-Protokolle. Die Datenpakete Durchlaufen dabei die verschlüsselte SSH-Verbindung, aber-Nachricht-Pakete (wie ACK) gesendet werden, über TCP. Wir filtern die TCP-Pakete in Kürze.

Wenn die Netzwerk-Verbindung nicht mehr benötigt wird, wird es verworfen. Die packet-Sequenz zu brechen, eine Netzwerk-Verbindung ist ein vier-Wege-handshake.

Die eine Seite sendet ein FIN (finish) Paket. Das andere Ende sendet ein ACK zum quittieren des FIN-und dann auch sendet ein FIN zu zeigen, dass es stimmt, kann die Verbindung gelöscht werden. Die erste Seite sendet ein ACK für das FIN Sie nur erhalten, und die Netzwerk-Verbindung wird dann abgebaut.

Hier ist, was die vier-Wege-handshake aussieht:

A -> FIN -> B

A <- FIN, ACK <- B

A -> ACK -> B

Manchmal werden die original-FIN piggybacks auf ein ACK-Paket, das gesendet werden sowieso, wie unten dargestellt:

A -> FIN-ACK -> B

A <- FIN, ACK <- B

A -> ACK -> B

Dies ist, was passiert in diesem Beispiel.

Wenn wir sehen wollen, nur den SSH-Verkehr für das Gespräch, wir können einen filter verwenden, der angibt, dass das Protokoll. Wir geben Sie den folgenden, um zu sehen, allen Netzwerkverkehr, der über das SSH-Protokoll zu und von einem remote-computer:

ip.addr == 192.168.4.25 && ssh

Dieser filtert alles außer SSH-Verkehr zu und von 192.168.4.25.

Weitere Nützliche Filter-Vorlagen

Wenn Sie mit der Eingabe von filtern in der filter-Leiste bleibt rot, bis der filter syntaktisch korrekt ist. Es wird grün, wenn die filter richtig und vollständig sind.

Wenn Sie ein Protokoll, wie tcp, ip, udp, oder shh, gefolgt von einem Punkt (.), es erscheint ein Menü. Es wird die Liste der letzten Filter enthalten, dass das Protokoll, und alle Felder, die verwendet werden können in Filter für das Protokoll name.

Zum Beispiel mit ip können Sie ip verwenden.addr, ip.Prüfsumme ip.src, ip.dst, ip.id, ip.host, und Dutzende andere.

Verwenden Sie die folgenden filter-Vorlagen als basis Ihrer Filter:

  • Nur die HTTP-Protokoll-Pakete: http
  • Nur die DNS Protokoll Pakete: dns
  • Nur TCP-Pakete mit 4000 als Quelle oder Ziel-port: tcp.port==4000
  • Zeigt alle TCP-reset-Pakete: http.Anfrage
  • Heraus zu filtern, ARP, ICMP und DNS-Pakete: !(arp-oder icmp oder dns)
  • Zur Anzeige aller Neuübertragungen in einem trace: tcp.- Analyse.Weiterverbreitung
  • Filter-flags (wie SYN-oder FIN): Sie haben, um einen Vergleichswert für diese: 1 bedeutet, dass das flag gesetzt ist, und 0 bedeutet, es ist nicht. Also, ein Beispiel wäre: tcp.flags.syn == 1.

Wir haben behandelt einige der Leitprinzipien und grundlegenden Verwendungen von display Filter hier, aber es gibt natürlich noch eine Menge mehr.

Zu schätzen, das volle Ausmaß und die macht der Wireshark-Filter, sicher sein, zu überprüfen, Ihre online-Referenz.

LESEN SIE WEITER

  • › 6 Tipps für die Organisation Ihrer iPhone-Apps
  • › Wie Wireshark-Filter auf Linux
  • › Windows 10 Wird sich Bald Zeigen Rand der Browser-Tabs mit Alt+Tab
  • › Wie Drahtlos-Link eine Stadien-Controller an ein Android-Gerät
  • › Wie Öffnen Sie Microsoft Outlook die Ansicht “Unterhaltung” Nach der Sortierung eines Ordners