WireShark remoto
En este apunto explico cómo lanzo una captura tráfico de la red (tcpdump
) en un equipo Linux remoto (Pi2 con Gentoo) y pido que se reenvíe a Wireshark ejecutándose en mi ordenado (Mac). Conseguiremos que la salida de tcpdump sea la entrada de Wireshark. Parece magia pero verás que es extremadamente sencillo. Vas a necesitar conocer ssh
y sudo
, un par de requisitos para que esto sea tan fácil.
- Opción con mkfifo
Primero empiezo por una opción un poco más complicada (la siguiente es más sencilla), pero nos va a ayudar a entender mejor cual es la idea…
Ejecutamos dos sesiones en un terminal (Terminal.app
, iTerm2
, etc..). En mi caso las ejecuto en mi iMac. En una sesión ejecuto WireShark en mi ordenado. En la otra pido la ejecución remota de tcpdump mediante SSH a un equipo Linux. Conecto ambos procesos a través de un fichero intermedio de tipo FIFO.
Sesión 1:
$ mkfifo /tmp/remote
$ wireshark -k -i /tmp/remote
Sesión 2:
$ ssh luis@gentoopi.tudominio.com "sudo tcpdump -s 0 -U -n -w - -i eth0 not port 22" > /tmp/remote
- Opción directa sin mkfifo (Preferida)
Lo anterior se puede reducir a una línea en una única sesión de Terminal:
Sesión única, en este caso ejecuto el Wireshark en mi MacOS:
$ ssh luis@gentoopi.tudominio.com "sudo tcpdump -s 0 -U -n -w - -i eth0 not port 22" | /Applications/Wireshark.app/Contents/MacOS/Wireshark -k -i -