¿Cómo puede Wireshark.exe en Windows leer desde una secuencia de archivos pcap?

¿Cómo puede Wireshark.exe en Windows leer desde una secuencia de archivos pcap?

Probablemente esto sea menos una pregunta de Wirehark y más una pregunta de "cómo canalizo un archivo a una aplicación" en Windows.

En Linux, puedo capturar un archivo pcap en otro host con tcpdump y canalizarlo nuevamente a Wireshark en la máquina local para una experiencia de captura en vivo: ssh host sudo tcpdump -iany -U -s0 -w - 'not port 22' | wireshark-gtk -k -i -. También puedo iniciar desde una máquina con Windows a una máquina con Linux que tenga tcpdump instalado: plink.exe -ssh -pw password user@host "tcpdump -ni any -s 0 -w - not port 22" | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -. Ambos funcionan bien, siempre que tenga acceso a un shell y a tcpdump. Pero yo no.

La máquina de destino (AVM Fritzbox) no tiene ssh ni telnet (ya no). No puedo iniciar sesión en un shell. Sólo tengo acceso a la web.

Entonces tengo un archivo pcap que se llena constantemente de datos. Es una captura en vivo de una sesión de Chrome parahttp://fritz.box/html/capture.htmlsiendo transmitido a mi carpeta de descargas. Creo que el enrutador Fritzbox está usando tcpdump internamente, transmitiendo la salida como un archivo a mi carpeta local de descargas de Windows).

También quiero ver ese archivo en wireshark.exe, similar a la variante de Linux anterior.

Lo siguiente no funciona (con el casi equivalente PowerShall de tail -f): Get-Content "path-to-file-being-downloaded" -wait | .\Wireshark.exe -i -. Wireshark simplemente no se inicia. Supongo que esto se debe a que la tubería envía un objeto, no una secuencia. Si lo hago Get-Content "path-to-file-being-downloaded" | .\Wireshark.exe -i -(sin "-wait"), Wireshark se iniciará sin abrir un archivo, por lo que no parece ver la entrada canalizada.

Get-Content "path-to-file-being-downloaded" -waitme dará una vista similar a tail -f sobre algún galimatías que parece representar el contenido de un archivo pcap. Si abro el mismo archivo con .\Wireshark.exe "path-to-file-being-downloaded", Wireshark comienza con el contenido del archivo, pero se queja de que está "cortado en medio de un paquete"... obviamente...

¿Cómo puedo decirle a Wireshark en Windows que siga un archivo pcap que aún está lleno de datos, similar al comando de Linux anterior? En otras palabras, ¿cómo puedo canalizar ese archivo continuamente a wireshark.exe?

gracias dan

Respuesta1

Esta solución implica WSL2, pero funcionará bien para la versión de Windows de Wireshark.

Básicamente ejecutas lo siguiente en WSL2:

ssh user@server 'tcpdump -U -i eth0 -w -' | /mnt/c/Program\ Files/Wireshark/Wireshark.exe -k -i -

Dado que Wireshark está instalado en la ubicación predeterminada. Adáptese a sus necesidades y entorno.

información relacionada