Capturar tráfego para aplicativos específicos


14

Eu tenho um aplicativo que se comunica com algum servidor. Eu quero saber qual é o IP deste servidor. Como posso capturar todo o tráfego de um aplicativo específico e não apenas todo o tráfego como o Wireshark faz?


Qual sistema operacional você está usando? Quanto você sabe sobre o aplicativo? Você sabe se ele usa portas específicas?
22413 James Polley

Windows Server 2008 R2 / Windows 7 Não sei nada sobre números de porta. É tráfego IP (TCP / UDP).
18119 melco-man

1
Então, para esclarecer. Você deseja ver o ID do processo pelo menos. Mas algo como o netstat -aon não fará isso porque você deseja ver também tentativas de conexão sem êxito. (Eu não sei de nada, e você vai ter sorte se alguém faz, mas você pode esclarecer que é o que você quer?)
barlop

Você saberia onde o aplicativo tentará se conectar? Eu estou pensando que você poderia usar o wireshark e usar filtros para detalhar o host / IP de destino?
emtunc

Além disso, dependendo do tipo de aplicativo, é possível forçá-lo a passar por um proxy e usar algo como um violinista para capturar o tráfego desse aplicativo. Nunca tentei, mas não consigo ver por que não funcionaria. Pode ser tão simples quanto alterar as configurações de proxy do IE para proxy do violinista (porta 8888 por padrão) ou tão difícil quanto recompilar o aplicativo para usar o proxy ou forçar o aplicativo a usar o proxy - tenho certeza de que existem aplicativos por aí isso pode fazer isso.
emtunc

Respostas:


4

É possível capturar todo o tráfego de rede para um determinado aplicativo interceptando as chamadas da API do Windows Sockets. Essas são as ferramentas que podem ajudar.

  1. Proxocket escrito por Luigi Auriemma. Ele intercepta chamadas de API e salva o tráfego capturado como arquivo .cap pronto para Wireshark no formato tcpdump. Nada é mais explicativo do que uma imagem fornecida pelo próprio Luigi:Captura de tela

  2. O NirSoft possui o aplicativo SocketSniff , que permite capturar o tráfego de um processo específico. Uma imagem vale mais que mil palavras:Captura de tela

Infelizmente, as ferramentas mencionadas provavelmente não suportariam aplicativos de 64 bits. No entanto, é possível escrever um interceptador personalizado usando a biblioteca mhook que suporta APIs de 32 e 64 bits.


+1 para ferramentas de freeware da NirSoft que são incrivelmente boas e geralmente portáteis (.exe simples) e pequenas (<500 KB). Desenvolvedor muito talentoso lá!
#

E no Linux?
Aaron Franke

@AaronFranke stracepode ajudar. Veja aqui: askubuntu.com/a/12465/505090
PF4Public


1

O mais fácil de usar é o Fiddler 2. É um depurador que permite visualizar solicitações HTTP, HTTPS e FTP (ambas se configuradas) com qualquer aplicativo em seu PC.

Depois de instalá-lo, para direcionar um aplicativo específico, clique e segure o item de menu " Qualquer processo ", arraste o cursor para a janela aberta e solte-o. Ele só mostrará o aplicativo direcionado até você clicar com o botão direito do mouse no item de menu que agora lê o processo direcionado em texto vermelho para liberá-lo.

http://fiddler2.com/


Como usar o Fiddler para solicitações não HTTP / FTP?
Pacerier 24/07

0

No Windows, o TCPView deve fazer o que você precisa: pode mostrar todas as conexões TCP e UDP que um programa específico abriu.

No entanto, acho que isso só será útil se o programa estiver abrindo uma conexão e deixando aberta; eles não mostrarão todo o tráfego de rede de um programa específico. É possível, por exemplo, que ele faça uma ligação telefônica muito breve à medida que carrega, mas a conexão acaba quando você executa o TCPView.

O Process Monitor pode ajudar a obter mais detalhes, mas eu não o usei, portanto, não tenho certeza do quanto ele captura sobre os soquetes de rede.


4
O TCPView ajudará apenas com conexões estabelecidas. Eu preciso ver até tentativas de conexão TCP sem êxito.
18119 melco-man

1
Nesse caso, estou sem ideias. Provavelmente vale a pena acrescentar isso à pergunta.
22411 James Polley

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.