Je peux renifler le trafic de mon ordinateur local, mais je voudrais savoir comment renifler le trafic d’une machine distante avec Wireshark?
En option de capture, je sélectionne l'interface à distance et saisis mon adresse IP à distance. Que devrais-je faire?
Réponses:
Sous Linux et OSX, vous pouvez y parvenir en exécutant tcpdump sur ssh et en laissant Wireshark écouter sur le tuyau.
Créez un tuyau nommé:
$ mkfifo /tmp/remote
Démarrer Warshark à partir de la ligne de commande
$ wireshark -k -i /tmp/remote
Exécutez tcpdump sur ssh sur votre machine distante et redirigez les paquets vers le tube nommé:
$ ssh root@firewall "tcpdump -s 0 -U -n -w - -i eth0 not port 22" > /tmp/remote
Source: http://blog.nielshorn.net/2010/02/using-wireshark-with-remote-capturing/
la source
ssh root@{MY_VPS_IP} -p 27922 "tcpdump -s 0 -U -n -w - -i eth0 not port 27922" > /tmp/remote
pourriez-vous me dire pourquoi?J'utilise cet oneliner comme racine. Est très utile!
ssh root@sniff_server_ip -p port tcpdump -U -s0 'not port 22' -i eth0 -w - | wireshark -k -i -
Le dernier
-
avant de de|
est la redirection de cette sortie et est utilisé pour une entrée standard par Wirehark. L’-k
option de Wireshark signifie "commencer à renifler immédiatementla source
Une approche consiste à utiliser ce que l'on appelle un port miroir ou étendu sur votre commutateur. Si votre commutateur n'est pas assez intelligent, vous pouvez également placer un petit concentrateur entre la connexion commutateur / hôte à capture. Vous connectez un lien physique de votre hôte d'écoute à ce port / concentrateur, puis vous pouvez voir tout le trafic traversant le périphérique. Sinon, vous devrez installer votre logiciel de capture de paquets dans un emplacement plus stratégique de votre réseau, comme un pare-feu / routeur frontière.
la source
Vous pouvez utiliser un descripteur de fichier pour vous connecter et recevoir les paquets
ssh
et le rediriger vers la structure wirehark localement:wireshark -i <(ssh root@firewall tcpdump -s 0 -U -n -w - -i eth0 not port 22)
Wireshark va s'ouvrir et vous montrer l'interface "comme"
/dev/fd/63
, c'est-à-dire le descripteur de fichier contenant les données du système distant.la source
voir les informations sur la configuration de l'ordinateur distant, pour permettre à votre machine locale de se connecter et de capturer
http://wiki.wireshark.org/CaptureSetup/WinPcapRemote
la source
Sous RHEL, la réponse de Konrad ne fonctionnait pas pour moi car elle
tcpdump
nécessitait un accès root, et je n'ai qu'un accès sudo. Ce qui a bien fonctionné a été de créer un fifo distant supplémentaire que je peux lire:et envoyez les données par une connexion séparée:
et enfin commencer Wireshark
la source
Vous ne pouvez que renifler le trafic qui vous parvient. Donc, Joe A qui se rend à Joe B n’approche jamais de votre ordinateur, vous ne pouvez donc pas le voir.
Le seul moyen consiste à vous rendre au trafic ou à vous le transmettre. Pour accéder au trafic, vous devez vous connecter à un routeur, à un bon commutateur ou à un concentrateur quelque part au milieu de leur connexion. Pour que le trafic vous parvienne, il vous faudra ARP empoisonner certains des commutateurs afin qu'ils pensent de votre part.
la source
En plus des réponses précédentes, la version avec netcat
nc
peut également être utile:Hôte distant:
mkfifo /tmp/mypcap.fifo
tcpdump -i em0 -s 0 -U -w - > /tmp/mypcap.fifo
nc -l 10000 < /tmp/mypcap.fifo
Hôte local:
wireshark -ki <(nc 192.168.1.1 10000)
Remarque à propos de cette méthode: Le port non sécurisé est ouvert à toutes les interfaces. Veillez donc à filtrer les connexions entrantes à l'aide de règles de pare-feu.
la source