Como Obtener Una Traza De Red en Windows
Obtener una traza de red de modo nativo en Windows y Linux
En muchas ocasiones, durante nuestro trabajo como técnicos de soporte, debemos obtener trazas de red.
Wireshark es un software fantástico, pero es imposible en muchas ocasiones instalar este software en máquinas en producción, por lo que solemos optar por soluciones nativas para recoger las requeridas trazas de red, tan necesarias para hacer troubleshooting de problemas complejos.
En Windows utilizamos el comando netsh
netsh trace start capture=yes tracefile=c:\temp\networktraceatclient.etl persistent=yes maxsize=4096 overwrite=yes
Este comando lo que haría sería coger una traza de red con un tamaño máximo de 4096 MB (4 GB), y en caso de que se llegara a ese tamaño máximo, el fichero se sobre-escribiría.
En Linux el equivalente es:
tpdump -i any -s0 -nnn -C 4096 -W 10 -w networktrace.cap
Explicación de los parámetros
-s0 indica que cogeremos todo el paquete, en lugar de únicamente la cabecera.
-nnn es para que no se resuelvan los hostnames ni los números de puerto.
-C para especificar el máximo tamaño por fichero
-W para especificar el número total de ficheros antes de empezar a sobre-escribir.
-w networktrace.cap, es el nombre y path del fichero en el que se guardará la traza de red.
Hay que notar que cuando la traza se coge en Windows, el fichero generado es .etl
Normalmente este fichero hay que convertiro a .pcap para poder procesarlo con Wireshark
Para ello usamos el software etl2pcap.exe
https://github.com/microsoft/etl2pcapng/releases
Cuando la traza se coge con tcpdump, es inmediatamente utilizable por WireShark.