isolar o aplicativo e verificar quais pacotes ele está enviando pela Internet

17

Eu não tenho certeza se esse tipo de pergunta é apropriado aqui, então me perdoe se eu estiver errado.

Aqui está um problema: Eu quero ver o que um programa específico está enviando para a internet, mas o problema é que no computador há muitas aplicações e serviços que estão usando a Internet. Por isso, é impossível descobrir quais pacotes foram enviados por um aplicativo no qual estou interessado.

Uma maneira é tentar fechar todos os outros aplicativos, mas isso é impossível.

Existe uma maneira de isolar um aplicativo específico? Eu estou trabalhando no windows7 e capturando pacotes com wireshark

    
por Salvador Dali 26.10.2012 / 16:08

5 respostas

13

Dado que você está usando o Wireshark, seus números de porta não são automaticamente resolvidos para o nome de um aplicativo, portanto, você precisará fazer um pouco mais para refinar as informações que está procurando. Cada aplicativo que usa TCP / IP para se comunicar através de uma rede usará portas, para que a pilha de rede saiba onde entregar segmentos (eu gosto de chamar isso de endereço de aplicativo).

Os clientes que se conectam a um aplicativo de servidor em uma porta específica receberão dinamicamente um número de porta de um intervalo dinâmico. Portanto, primeiro você precisa descobrir quais conexões TCP / UDP seu aplicativo abriu:

netstat -b

na linha de comando lhe dará uma lista de conexões com o nome do executável que criou a conexão. Cada executável tem uma ou mais conexões listadas como 127.0.0.1:xxxxx, onde X é o número da porta local para a conexão.

Agora no wireshark, você precisa dizer para exibir os pacotes originados de ou destinados a essa porta usando um ou mais desses filtros:

tcp.port == xxxxx ou udp.port == xxxxx

Adicione mais or tcp.port == xxxxx para cada conexão que você deseja mostrar.

Isso permitirá que você veja todo o tráfego para as conexões que seu aplicativo abriu e o Wireshark não incluirá apenas segmentos TCP / UDP brutos, mas incluirá os vários protocolos da camada de aplicação (por exemplo, HTTP) que usaram esses números de porta também .

Se o seu aplicativo parece estar se comunicando com apenas um servidor, basta usar o endereço IP desse servidor para filtrar:

ip.addr == x.x.x.x
    
por 26.10.2012 / 21:03
6

Se você usar o Process Monitor da Microsoft , poderá alterar os filtros para mostrar apenas a rede comunicações de processos específicos. Ele não fornece o conteúdo dos pacotes, mas mostra com quais hosts o aplicativo está falando.

    
por 26.10.2012 / 16:12
1

O Microsoft Network Monitor mostrará o processo responsável pelo fluxo de tráfego.

    
por 26.10.2012 / 17:22
1

Eu encontrei o Microsoft Message Analyzer muito útil para o mesmo propósito. Permite capturar o tráfego de rede e agregá-lo pela árvore de processos.

    
por 10.03.2017 / 23:17
-2

Basta substituir My_Application pelo PNAME ou PID

do seu aplicativo

netstat --programs | grep "My_Application"

Eu não testei no windows 7. mas funciona no Linux.

    
por 24.05.2015 / 12:33