Capture el tráfico para una aplicación específica

14

Tengo una aplicación que se comunica con algún servidor. Quiero saber cuál es la IP de este servidor. ¿Cómo puedo capturar todo el tráfico de una aplicación específica y no solo todo el tráfico como lo hace Wireshark?

melco-man
fuente
Qué sistema operativo estás usando? ¿Cuánto sabes sobre la aplicación? ¿Sabes si usa puertos específicos?
James Polley
Windows Server 2008 R2 / Windows 7 No sé nada sobre números de puerto. Es el tráfico IP (TCP / UDP).
melco-man
1
Entonces, para aclarar. Desea ver la ID del proceso al menos. Pero algo como netstat -aon no lo hará porque también desea ver intentos de conexión fallidos. (No sé de nada, y tendrás suerte si alguien lo hace, pero puedo aclarar que es lo que quiere?)
barlop
¿Sabrías dónde intentará conectarse la aplicación? ¿Estoy pensando que podría usar wireshark y usar filtros para profundizar en el host / IP de destino?
emtunc
Además, dependiendo del tipo de aplicación que sea, podría forzarlo a pasar por un proxy y usar algo como Fiddler para capturar el tráfico de esa aplicación. Nunca lo intenté pero no puedo ver por qué no funcionaría. Puede ser tan simple como cambiar la configuración del proxy IE al proxy fiddler (puerto 8888 por defecto) o tan difícil como volver a compilar la aplicación para usar el proxy o forzar de alguna manera a la aplicación a usar el proxy. Estoy seguro de que hay aplicaciones disponibles. eso puede hacer eso.
emtunc

Respuestas:

4

Es posible capturar todo el tráfico de red para una aplicación dada interceptando llamadas de API de Windows Sockets. Estas son las herramientas que pueden ayudar.

  1. Proxocket escrito por Luigi Auriemma. Intercepta llamadas API y guarda el tráfico capturado como un archivo .cap listo para Wireshark en formato tcpdump. Nada es más explicativo que una imagen proporcionada por el propio Luigi:Captura de pantalla

  2. NirSoft tiene la aplicación SocketSniff que permite capturar el tráfico de un proceso específico. Una imagen vale más que mil palabras:Captura de pantalla

Lamentablemente, las herramientas mencionadas probablemente no admitan aplicaciones de 64 bits. Sin embargo, es posible escribir un interceptor personalizado utilizando la biblioteca mhook que admite API de 32 bits y 64 bits.

PF4 Público
fuente
+1 para las herramientas gratuitas de NirSoft que son increíblemente buenas, y generalmente portátiles (.exe único) y pequeñas (<500 KB). Desarrollador muy talentoso allí!
Basj
¿Qué hay de Linux?
Aaron Franke
@AaronFranke stracepodría ayudar. Ver aquí: askubuntu.com/a/12465/505090
PF4Public
2

Microsoft Network Monitor podría permitirle decir "capturar solo los paquetes enviados ay desde esta aplicación".


fuente
-1 para una respuesta vaga y mayormente conjeturas.
Cilíndrico
¿Qué hay de Linux?
Aaron Franke
1

El más fácil de usar es Fiddler 2. Es un depurador que le permite ver las solicitudes HTTP, HTTPS y FTP (ambas si están configuradas) con cualquier aplicación en su PC.

Después de instalarlo, para apuntar a una aplicación específica, simplemente haga clic y mantenga presionado el elemento del menú " Cualquier proceso ", luego arrastre el cursor a la ventana abierta y suéltelo. Solo mostrará esa aplicación específica hasta que haga clic derecho en el elemento del menú que ahora lee el proceso específico en texto rojo para liberarlo.

http://fiddler2.com/

cbabb
fuente
¿Cómo usar Fiddler para solicitudes que no son HTTP / FTP?
Pacerier
0

En Windows, TCPView debería hacer lo que necesita: puede mostrarle todas las conexiones TCP y UDP que un programa en particular ha abierto.

Sin embargo, creo que esto solo será útil si el programa abre una conexión y la deja abierta; no van a mostrarle todo el tráfico de red por un programa en particular. Es posible, por ejemplo, que haga una breve llamada telefónica a casa mientras se carga, pero la conexión se ha ido para cuando ejecuta TCPView.

Process Monitor puede ayudar a obtener más detalles, pero no lo he usado, así que no estoy seguro de cuánto captura sobre los sockets de red.

James Polley
fuente
44
TCPView solo ayudará con las conexiones establecidas. Necesito ver incluso intentos fallidos de conexión TCP.
melco-man
1
En ese caso, se me acabaron las ideas. Sin embargo, probablemente valga la pena agregar eso a la pregunta.
James Polley
0

proxifier : https://www.proxifier.com
Ese es un buen programa para configurar el proxy para su aplicación especial en el sistema operativo Windows.

Potenciame
fuente