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?
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?
Respostas:
É 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.
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:
O NirSoft possui o aplicativo SocketSniff , que permite capturar o tráfego de um processo específico. Uma imagem vale mais que mil palavras:
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.
strace
pode ajudar. Veja aqui: askubuntu.com/a/12465/505090
O Microsoft Network Monitor pode permitir que você diga "capture apenas pacotes enviados para e deste aplicativo".
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.
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.
proxifier : https://www.proxifier.com
Esse é um bom programa para configurar o proxy para seu aplicativo oficial no sistema operacional Windows.