Eu escrevi um aplicativo de servidor simples em C que é executado em localhost. Como capturar o tráfego localhost usando o Wireshark?
Eu escrevi um aplicativo de servidor simples em C que é executado em localhost. Como capturar o tráfego localhost usando o Wireshark?
Respostas:
Se você estiver usando o Windows , não é possível - leia abaixo. Em vez disso, você pode usar o endereço local de sua máquina e, então, poderá capturar coisas. Consulte CaptureSetup / Loopback .
Resumo: você pode capturar na interface de loopback no Linux, em vários BSDs, incluindo Mac OS X e no Digital / Tru64 UNIX, e pode ser capaz de fazer isso no Irix e AIX, mas definitivamente não pode fazer no Solaris, HP -UX ... .
Embora a página mencione que isso não é possível no Windows usando apenas o Wireshark, você pode realmente gravá-lo usando uma solução alternativa, conforme mencionado em uma resposta diferente .
EDIT: Cerca de 3 anos depois, esta resposta não é mais completamente correta. A página vinculada contém instruções para captura na interface de loopback .
Por algum motivo, nenhuma das respostas anteriores funcionou no meu caso, então postarei algo que funcionou. Existe uma pequena jóia chamada RawCap que pode capturar o tráfego localhost no Windows. Vantagens:
Depois que o tráfego foi capturado, você pode abri-lo e examiná-lo normalmente no Wireshark. A única desvantagem que encontrei é que você não pode definir filtros, ou seja, você tem que capturar todo o tráfego localhost que pode ser pesado. Há também um bug em relação ao Windows XP SP 3.
Mais alguns conselhos:
Na plataforma Windows, também é possível capturar o tráfego do host local usando o Wireshark. O que você precisa fazer é instalar o adaptador de loopback da Microsoft e detectá-lo.
Na verdade, não tentei isso, mas esta resposta da web parece promissora:
O Wireshark não pode realmente capturar pacotes locais no Windows XP devido à natureza da pilha TCP do Windows. Quando os pacotes são enviados e recebidos na mesma máquina, eles não parecem cruzar o limite da rede que monitora wirehark.
No entanto, há uma maneira de contornar isso, você pode rotear o tráfego local através de seu gateway de rede (roteador) configurando uma rota estática (temporária) em sua máquina com Windows XP.
Digamos que o endereço IP do XP seja 192.168.0.2 e o endereço do gateway (roteador) seja 192.168.0.1, você pode executar o seguinte comando na linha de comando do Windows XP para forçar todo o tráfego local para fora e para trás através dos limites da rede, para que o WireShark possa rastrear o dados (note que o WireShark reportará os pacotes duas vezes neste cenário, uma vez quando eles saem do seu pc e uma vez quando eles retornam).
route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1
http://forums.whirlpool.net.au/archive/1037087 , acessado agora.
Por favor, tente Npcap: https://github.com/nmap/npcap , ele é baseado em WinPcap e suporta captura de tráfego de loopback no Windows. Npcap é um subprojeto do Nmap ( http://nmap.org/ ), portanto, relate quaisquer problemas na lista de desenvolvimento do 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.
Você pode ver o tráfego de loopback ao vivo no Wireshark fazendo com que ele leia a saída do RawCap instantaneamente. cmaynard descreve essa abordagem engenhosa nos fóruns do Wireshark . Vou citar aqui:
[...] se você deseja visualizar o tráfego ao vivo no Wireshark, você ainda pode fazer isso executando RawCap em uma linha de comando e executando o Wireshark em outra. Supondo que você tenha a cauda do cygwin disponível, isso pode ser feito usando algo como:
cmd1: RawCap.exe -f 127.0.0.1 dumpfile.pcap
cmd2: tail -c +0 -f dumpfile.pcap | Wireshark.exe -k -i -
Requer a cauda do cygwin, e não consegui encontrar uma maneira de fazer isso com as ferramentas prontas para usar do Windows. Sua abordagem funciona muito bem para mim e me permite usar todos os recursos de filtro do Wiresharks no tráfego de loopback capturado ao vivo.
stdout
. Portanto, a partir de hoje, a solução fornecida acima pode ser simplificada da seguinte forma, sem necessidade tail
: RawCap.exe -q 127.0.0.1 - | Wireshark.exe -i - -k
Você pode ler mais sobre os novos recursos do RawCap na página de anúncio do RawCap Redux aqui: netresec.com/?page=Blog&month=2020-01&post=RawCap -Redux
Para Windows ,
Você não pode capturar pacotes para Loopback local no Wireshark , entretanto, você pode usar um programa muito pequeno, mas útil, chamado RawCap ;
Execute RawCap no prompt de comando e selecione Loopback Pseudo-Interface (127.0.0.1) e então escreva o nome do arquivo de captura de pacote ( .pcap )
Uma demonstração simples é a seguinte;
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
Você não pode capturar o loopback no Solaris, HP-UX ou Windows, no entanto, você pode facilmente contornar essa limitação usando uma ferramenta como RawCap .
RawCap pode capturar pacotes brutos em qualquer ip, incluindo 127.0.0.1
(localhost / loopback). Rawcap também pode gerar um pcap
arquivo. Você pode abrir e analisar o pcap
arquivo com o Wireshark .
Veja aqui os detalhes completos sobre como monitorar o host local usando RawCap e Wireshark.