¿Cómo puedo oler el tráfico de la máquina remota con wireshark?

38

Puedo detectar el tráfico de mi PC local, pero me gustaría saber cómo detectar el tráfico de una máquina remota mediante cables.

Cuando estoy en la opción de captura, selecciono la interfaz remota e ingreso mi ip remota, muestra error.code (10061). ¿Qué tengo que hacer?

sobre el estudio
fuente
55
Solo puede detectar el tráfico que está viendo su interfaz de red. Si la red se cambia, no se le enviarán paquetes a la máquina remota. Por cierto: intenta mejorar tu tasa de aceptación.
Matteo

Respuestas:

54

En Linux y OSX puede lograr esto ejecutando tcpdump a través de ssh y haciendo que Wirehark escuche en la tubería.

  1. Crea una tubería con nombre:

    $ mkfifo /tmp/remote

  2. Inicie wireshark desde la línea de comando

    $ wireshark -k -i /tmp/remote

  3. Ejecute tcpdump sobre ssh en su máquina remota y redirija los paquetes a la tubería con nombre:

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

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

Konrad
fuente
¿Es posible atrapar paquetes que pasan por un enrutador en el enrutador de esta manera, o es algo imposible?
inf3rno
Esto es genial. Mi 2c: generalmente no se recomienda permitir [ssh root], pero puede activarlo temporalmente agregando root a la línea [Match User] en / etc / ssh / sshd_config.
moodboom
Esto no funciona para mí, ¿ ssh root@{MY_VPS_IP} -p 27922 "tcpdump -s 0 -U -n -w - -i eth0 not port 27922" > /tmp/remotepodría decirme por qué?
Phoenix
@infmo si el enrutador puede ejecutar tcpdump directamente, entonces sí, debería ser posible. El mío no tiene espacio para instalar tcpdump. No es raro para enrutadores de gama baja.
Wheredidthatnamecomefor
21

Yo uso este oneliner como root. ¡Es muy útil!

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

El último -antes de |es la redirección de esa salida y se utiliza para la entrada estándar por wireshark. La -kopción en wireshark significa "comenzar a olfatear inmediatamente

ctaglia
fuente
La mejor primera respuesta que he visto.
sjas
10

Un enfoque es usar lo que se llama un puerto espejo o span en su conmutador. Si su conmutador no es lo suficientemente inteligente, también puede colocar un pequeño centro entre la conexión conmutador / host para capturar. Conecta un enlace físico desde su host de escucha a ese puerto / concentrador y luego puede ver todo el tráfico que cruza el dispositivo. Alternativamente, necesitará instalar su software de captura de paquetes en una ubicación más estratégica en su red, como un firewall / enrutador fronterizo.

dmourati
fuente
Tengo un problema más o menos interesante que podría resolverse de esta manera. ¿Puedes responderlo? serverfault.com/questions/855245/catch-tcp-packets-with-router
inf3rno
4

Puede usar un descriptor de archivo para conectarse y recibir los paquetes sshy canalizarlos a wireshark localmente:

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

Wirehark se abrirá y le mostrará la "Interfaz" /dev/fd/63, que es el descriptor de archivo que contiene datos del sistema remoto.

Sílex
fuente
1

Bajo RHEL, la respuesta de Konrad no funcionó para mí porque tcpdumprequiere root, y solo tengo acceso a sudo. Lo que sí funcionó fue crear un Fifo remoto adicional del que puedo leer:

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

y enviar los datos por una conexión separada:

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

y finalmente comenzar Wireshark

local:~$ wireshark -k -i pcap
Dan
fuente
0

Solo puedes oler el tráfico que llega a ti. Entonces, Joe A yendo a Joe B nunca se acerca a su PC, por lo que no puede verlo.

La única forma es que usted llegue al tráfico o que llegue a usted. Para llegar al tráfico requiere una conexión a un enrutador o un buen conmutador o concentrador en algún lugar en el medio de su conexión. Para llevarte el tráfico, necesitarás que ARP envenene algunos de los interruptores para que piensen que son ellos.

Johnny
fuente
0

Además de las respuestas anteriores, la versión con netcat también ncpodría ser útil:

Servidor remoto:

mkfifo /tmp/mypcap.fifo

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

nc -l 10000 < /tmp/mypcap.fifo

Anfitrión local:

wireshark -ki <(nc 192.168.1.1 10000)

Nota sobre este método: hace que el puerto no seguro esté abierto a todas las interfaces, así que asegúrese de filtrar las conexiones entrantes con las reglas del firewall.

fugitivo
fuente