Captura de pacote de interface de loopback em tempo real no Windows com RawCap, Wireshark e algum utilitário de pipe

4

Depois de tropeçar em outro post de superusuário sobre captura de pacotes de loopback no Windows, fui direcionado para RawCap , um utilitário que fornece pseudo-captura de pacotes de loopback. O RawCap grava em arquivos libpcap que o Wireshark pode ler. Isso é ótimo para capturar e exibir os dados capturados, mas eu tenho um caso de uso em que gostaria de ver esses pacotes capturados em tempo real.

O Wireshark suporta streaming de pacotes do STDIN , mas o RawCap não suporta direcionar sua saída para o STDOUT. Só pode gravar em um arquivo. O RawCap suporta uma opção para desabilitar o buffer, escrevendo cada pacote no arquivo quando ele chega.

Existe algum terceiro utilitário que eu possa usar, semelhante ao tail que produzirá o conteúdo de um arquivo enquanto ele está sendo gravado no Windows, para que eu possa canalizar um arquivo de captura do RawCap para o Wireshark em tempo real? p>

RawCap -> Intermediate File -> Tail-Like Utility for Binary -> Wireshark STDIN
    
por Brad 04.05.2014 / 22:55

2 respostas

8

Acontece que eu posso usar apenas tail para isso. Não é ideal, pois provavelmente está procurando por \n nos dados antes da saída, mas há dados suficientes nas capturas de pacotes para fazer esse trabalho parecer. Aqui está o que eu fiz:

  1. Instale UnixUtilities para obter uma porta de cauda para o Win32.
  2. Instalar RawCap
  3. Instale o Wireshark
  4. rawcap -f 127.0.0.1 localhost.pcap
  5. tail -c +1 -f localhost.pcap | wireshark -k -i -

Como o RawCap precisa do seu terminal inicial, você precisará iniciar um segundo para a cauda. Além disso, obviamente, substitua em qualquer caminho que você precisar.

Um pouco de hack, mas funciona! Eu só espero que o Wireshark inclua o RawCap como um método mais direto em uma versão futura.

    
por 05.05.2014 / 03:29
-1

Dê uma resposta mais completa que a minha, mostrando como o Wireshark mostra pacotes em tempo real, mas o comando que talvez você esteja procurando é tee .

$ ls -l | tee file.txt | head -n 1

... copia para a tela, salva como um arquivo e canaliza o que é despejado para a tela a cabeça.

    
por 05.05.2014 / 01:42