Wie kann ich mit wireshark den Datenverkehr von entfernten Rechnern aufspüren?


38

Ich kann den Datenverkehr meines lokalen PCs abhören, möchte aber wissen, wie ich den Datenverkehr einer Remote-Maschine mit Wireshark abhören kann.

Bei der Aufnahmeoption wähle ich die Remote-Schnittstelle und gebe meine Remote-IP ein. Zeige mir den error.code (10061). Was sollte ich tun?


5
Sie können nur den Datenverkehr riechen, den Ihre Netzwerkschnittstelle sieht. Wenn das Netzwerk umgeschaltet wird, werden keine Pakete an den Remotecomputer gesendet. Übrigens: Versuchen Sie, Ihre Akzeptanz zu verbessern.
Matteo

Antworten:


54

Unter Linux und OSX können Sie dies erreichen, indem Sie tcpdump über ssh ausführen und wireshark die Pipe abhören lassen.

  1. Erstellen Sie eine Named Pipe:

    $ mkfifo /tmp/remote

  2. Starten Sie wireshark von der Kommandozeile aus

    $ wireshark -k -i /tmp/remote

  3. Führen Sie tcpdump über ssh auf Ihrem Remote-Computer aus und leiten Sie die Pakete an die Named Pipe um:

    $ ssh root@firewall "tcpdump -s 0 -U -n -w - -i eth0 not port 22" > /tmp/remote

Quelle: http://blog.nielshorn.net/2010/02/using-wireshark-with-remote-capturing/


Ist es möglich, Pakete, die über einen Router gesendet werden, auf diese Weise auf dem Router selbst abzufangen, oder ist dies unmöglich?
Inf3rno

Das ist toll. Mein 2c: Das Zulassen von [ssh root] wird im Allgemeinen nicht empfohlen, aber Sie können es vorübergehend aktivieren, indem Sie root in die Zeile [Match User] in / etc / ssh / sshd_config einfügen.
Moodboom

Das funktioniert bei mir nicht. ssh root@{MY_VPS_IP} -p 27922 "tcpdump -s 0 -U -n -w - -i eth0 not port 27922" > /tmp/remoteKönnen Sie mir sagen, warum?
Phoenix

@infmo wenn der router tcpdump direkt ausführen kann dann sollte es ja möglich sein. Meins hat nicht den Platz, um tcpdump zu installieren. Nicht selten für Low-End-Router.
Ab dem

21

Ich benutze diesen Oneliner als root. Ist sehr nützlich!

ssh root@sniff_server_ip -p port tcpdump -U -s0 'not port 22' -i eth0 -w - | wireshark -k -i -

Das letzte -vor de |ist die Umleitung dieser Ausgabe und wird von wireshark als Standardeingabe verwendet. Die -kOption in wireshark bedeutet "Sofort schnüffeln"


Beste erste Antwort, die ich je gesehen habe.
Sjas

10

Ein Ansatz besteht darin, einen sogenannten Mirror- oder Span-Port an Ihrem Switch zu verwenden. Wenn Ihr Switch nicht intelligent genug ist, können Sie auch einen kleinen Hub zwischen die Switch- / Host-to-Capture-Verbindung stellen. Sie verbinden eine physische Verbindung von Ihrem Abhörhost mit diesem Port / Hub und sehen dann den gesamten Datenverkehr, der das Gerät passiert. Alternativ müssen Sie Ihre Paketerfassungssoftware an einem strategisch günstigeren Ort in Ihrem Netzwerk installieren, z. B. an einer Grenz-Firewall / einem Grenz-Router.


Ich habe ein mehr oder weniger interessantes Problem, das auf diese Weise gelöst werden könnte. Kannst du es beantworten? serverfault.com/questions/855245/catch-tcp-packets-with-router
Inf3rno

4

Sie können einen Dateideskriptor verwenden, um eine Verbindung zu den Paketen sshherzustellen, diese zu empfangen und lokal an wireshark weiterzuleiten:

wireshark -i <(ssh root@firewall tcpdump -s 0 -U -n -w - -i eth0 not port 22)

Du wireshark öffnest und zeigst dir das "Interface" /dev/fd/63, das der Dateideskriptor ist, der Daten vom entfernten System enthält.



1

Unter RHEL hat die Antwort von konrad bei mir nicht funktioniert, da tcpdumproot erforderlich ist und ich nur sudo-Zugriff habe. Die Aufgabe bestand darin, ein zusätzliches Remote-Fifo zu erstellen, von dem ich lesen kann:

remote:~$ mkfifo pcap
remote:~$ sudo tcpdump -s 0 -U -n -w - -i eth0 not port 22 > pcap

und senden Sie die Daten über eine separate Verbindung:

local:~$ mkfifo pcap
local:~$ ssh user@host "cat pcap" > pcap

und endlich Wireshark starten

local:~$ wireshark -k -i pcap

0

Sie können nur den Verkehr riechen, der Sie erreicht. Joe A kommt also nie in die Nähe Ihres PCs, sodass Sie ihn nicht sehen können.

Nur so können Sie zum Verkehr kommen oder den Verkehr zu Ihnen bringen. Um an den Datenverkehr zu gelangen, ist eine Verbindung zu einem Router oder einem guten Switch oder Hub erforderlich, der sich in der Mitte der Verbindung befindet. Um den Datenverkehr zu Ihnen zu leiten, müssen Sie einige der Switches mit ARP vergiften, damit sie Ihrer Meinung nach Ihre eigenen sind.


0

Zusätzlich zu früheren Antworten kann auch eine Version mit Netcat ncnützlich sein:

Remote-Host:

mkfifo /tmp/mypcap.fifo

tcpdump -i em0 -s 0 -U -w - > /tmp/mypcap.fifo

nc -l 10000 < /tmp/mypcap.fifo

Lokaler Gastgeber:

wireshark -ki <(nc 192.168.1.1 10000)

Hinweis zu dieser Methode: Der unsichere Port wird für alle Schnittstellen geöffnet. Filtern Sie daher eingehende Verbindungen mit Firewall-Regeln.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.