Captura de tráfego de host local Wireshark [fechado]


117

Eu escrevi um aplicativo de servidor simples em C que é executado em localhost. Como capturar o tráfego localhost usando o Wireshark?


3
Embora velho, ainda voto pela reabertura por motivos de consistência. Esta é uma pergunta válida e IMHO restrita o suficiente (o problema específico sendo "localhost")
— Marcel

Respostas:


69

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 .


A resposta de feuGene realmente funciona.
— GWLlosa

@GWLlosa Sim. Você pode usar o endereço local de sua máquina .
— cnicutar

7
Descobri que não era suficiente simplesmente colocar seu próprio IP no wirehark em vez de loopback; adicionar a rota foi necessário para que funcionasse na minha situação.
— GWLlosa

1
Obrigado. No OS X, a interface de loopback é lo0. Escolher en1 ou qualquer que seja o seu padrão não funcionará, ao que parece.
— sudo

Para configurar o adaptador de loopback, achei este vídeo do youtube útil. youtube.com/watch?v=KsWICPPO_N8
— developer747

51

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:

  • apenas 17 kB!
  • nenhuma biblioteca externa necessária
  • extremamente simples de usar (basta iniciá-lo, escolher a interface de loopback e o arquivo de destino e pronto)

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:


1
nenhuma configuração necessária e era bastante simples.
— vibhu

E você pode fazer com que o Wireshark leia a saída do RawCap instantaneamente, proporcionando captura ao vivo. Veja minha resposta para detalhes.
— Richard Kiefer

48

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.


ciphor, você fez isso com sucesso? isso está em contradição direta com a resposta do cnicutar.
— FeuGene

sim, fiz isso com sucesso.
— ciphor

E como? Não consegui fazer funcionar.
— schlamar

18
Fiz isso funcionar da mesma forma no Win 7. Gerenciador de dispositivos -> Adicionar hardware herdado -> Selecionarei -> Rede -> Microsoft -> Adaptador de loopback. Depois de instalado, configure-o com um endereço IP de sua escolha. Então: reinstale o WireShark para que ele reinstale o driver de captura na nova interface - isso deve ser feito sempre que você adicionar novas interfaces ao windows, loopback ou real.
— antiduh

4
Seguiu as instruções de @antiduh no Win 7 e, embora tenha visto algumas consultas netbios, não vi tráfego HTTP no localhost.
— Carlos Rendon

26

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.


6
Eu tentei isso e descobri que funcionou muito bem.
— GWLlosa

não funciona no win 7 32bit
— vantrung -cuncon

11

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/ ).


Opção nº 1 da documentação do 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.
— WireShark

Você pode baixar o instalador aqui: nmap.org/npcap
— Wayne Phipps

2
É bom saber que NPcap possui algumas limitações de licença para uso em ambientes de negócios.
— Jan Smrčina

10

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.


3
Para mim, o essencial era iniciar o segundo comando cmd com algum atraso, caso contrário o Wireshark não conseguiria ler o arquivo .pcap. Presumivelmente, porque precisa haver algum tráfego registrado nele para começar.
— Richard Kiefer

Essa deve ser uma resposta aceita (é suficiente executar cmd2 do git bash)
— fider

4
Uma atualização : a Netresec acaba de anunciar hoje (30 de janeiro de 2020) uma nova versão do RawCap que agora suporta gravação em um pipe ou em 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
— Christopher Maynard

8

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 ;

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

6

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 pcaparquivo. Você pode abrir e analisar o pcaparquivo com o Wireshark .

Veja aqui os detalhes completos sobre como monitorar o host local usando RawCap e Wireshark.


2

Sim, você pode monitorar o tráfego localhost usando o Npcap Loopback Adapter

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.