Escribí una aplicación de servidor simple en C que se ejecuta en localhost. ¿Cómo capturar el tráfico de localhost usando Wireshark?
Escribí una aplicación de servidor simple en C que se ejecuta en localhost. ¿Cómo capturar el tráfico de localhost usando Wireshark?
Respuestas:
Si está utilizando Windows , no es posible , lea a continuación. En su lugar, puede usar la dirección local de su máquina y luego podrá capturar cosas. Consulte CaptureSetup / Loopback .
Resumen: puede capturar en la interfaz loopback en Linux, en varios BSD, incluido Mac OS X, y en Digital / Tru64 UNIX, y es posible que pueda hacerlo en Irix y AIX, pero definitivamente no puede hacerlo en Solaris, HP -UX ... .
Aunque la página menciona que esto no es posible en Windows usando solo Wireshark, en realidad puede grabarlo usando una solución alternativa como se menciona en una respuesta diferente .
EDITAR: Unos 3 años después, esta respuesta ya no es completamente correcta. La página vinculada contiene instrucciones para realizar capturas en la interfaz de bucle invertido .
Por alguna razón, ninguna de las respuestas anteriores funcionó en mi caso, así que publicaré algo que funcionó. Hay una pequeña joya llamada RawCap que puede capturar el tráfico localhost en Windows. Ventajas:
Una vez capturado el tráfico, puede abrirlo y examinarlo en Wireshark normalmente. La única desventaja que encontré es que no puede establecer filtros, es decir, debe capturar todo el tráfico de localhost que puede ser pesado. También hay un error con respecto a Windows XP SP 3.
Algunos consejos más:
En la plataforma Windows, también es posible capturar el tráfico del host local mediante Wireshark. Lo que debe hacer es instalar el adaptador de bucle invertido de Microsoft y luego olerlo.
En realidad, no he probado esto, pero esta respuesta de la web suena prometedora:
Wireshark no puede capturar paquetes locales en Windows XP debido a la naturaleza de la pila TCP de Windows. Cuando los paquetes se envían y reciben en la misma máquina, parece que no cruzan el límite de la red que monitorea Wirehark.
Sin embargo, hay una forma de evitar esto, puede enrutar el tráfico local a través de su puerta de enlace de red (enrutador) configurando una ruta estática (temporal) en su máquina con Windows XP.
Supongamos que su dirección IP de XP es 192.168.0.2 y la dirección de su puerta de enlace (enrutador) es 192.168.0.1, puede ejecutar el siguiente comando desde la línea de comandos de Windows XP para forzar todo el tráfico local hacia afuera y hacia atrás a través del límite de la red, de modo que Wireshark pueda rastrear el datos (tenga en cuenta que wirehark informará los paquetes dos veces en este escenario, una cuando salgan de su PC y otra cuando regresen).
route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1
http://forums.whirlpool.net.au/archive/1037087 , accedido hace un momento.
Pruebe Npcap: https://github.com/nmap/npcap , se basa en WinPcap y admite la captura de tráfico de bucle invertido en Windows. Npcap es un subproyecto de Nmap ( http://nmap.org/ ), así que informe cualquier problema en la lista de desarrollo de Nmap ( http://seclists.org/nmap-dev/ ).
Starting from Windows Vista: Npcap is an update of WinPcap using NDIS 6 Light-Weight Filter (LWF), done by Yang Luo for Nmap project during Google Summer of Code 2013 and 2015. Npcap has added many features compared to the legacy WinPcap.
Puede ver el tráfico de loopback en vivo en Wireshark haciendo que lea la salida de RawCap al instante. cmaynard describe este ingenioso enfoque en los foros de Wireshark . Lo citaré aquí:
[...] si desea ver el tráfico en vivo en Wireshark, aún puede hacerlo ejecutando RawCap desde una línea de comandos y ejecutando Wireshark desde otra. Suponiendo que tiene la cola de cygwin disponible, esto podría lograrse usando algo como esto:
cmd1: RawCap.exe -f 127.0.0.1 dumpfile.pcap
cmd2: tail -c +0 -f dumpfile.pcap | Wireshark.exe -k -i -
Requiere la cola de cygwin, y no pude encontrar una manera de hacer esto con las herramientas listas para usar de Windows. Su enfoque funciona muy bien para mí y me permite usar todas las capacidades de filtro de Wiresharks en el tráfico de loopback capturado en vivo.
stdout
. Entonces, a partir de hoy, la solución proporcionada anteriormente se puede simplificar de la siguiente manera, sin tail
necesidad: RawCap.exe -q 127.0.0.1 - | Wireshark.exe -i - -k
Puede leer más sobre las nuevas funciones de RawCap en la página de anuncios de RawCap Redux aquí: netresec.com/?page=Blog&month=2020-01&post=RawCap -Redux
Para Windows ,
No puede capturar paquetes para Loopback local en Wireshark , sin embargo, puede usar un programa muy pequeño pero útil llamado RawCap ;
Ejecute RawCap en el símbolo del sistema y seleccione la pseudo-interfaz de bucle invertido (127.0.0.1), luego simplemente escriba el nombre del archivo de captura de paquetes ( .pcap )
Una demostración simple es la siguiente;
C:\Users\Levent\Desktop\rawcap>rawcap
Interfaces:
0. 169.254.125.51 Local Area Connection* 12 Wireless80211
1. 192.168.2.254 Wi-Fi Wireless80211
2. 169.254.214.165 Ethernet Ethernet
3. 192.168.56.1 VirtualBox Host-Only Network Ethernet
4. 127.0.0.1 Loopback Pseudo-Interface 1 Loopback
Select interface to sniff [default '0']: 4
Output path or filename [default 'dumpfile.pcap']: test.pcap
Sniffing IP : 127.0.0.1
File : test.pcap
Packets : 48^C
No puede capturar loopback en Solaris, HP-UX o Windows; sin embargo, puede evitar esta limitación con mucha facilidad utilizando una herramienta como RawCap .
RawCap puede capturar paquetes sin procesar en cualquier IP, incluido 127.0.0.1
(localhost / loopback). Rawcap también puede generar un pcap
archivo. Puede abrir y analizar el pcap
archivo con Wireshark .
Consulte aquí para obtener detalles completos sobre cómo monitorear localhost usando RawCap y Wireshark.