Como para farejar uma porta USB no Windows?
Pergunta
De vez em quando, eu preciso para despejar o tráfego USB no Windows, principalmente para hardware suporte no Linux, então meu objetivo principal é produzir arquivos de despejo para análise de protocolo.
Para o tráfego USB, parece que SniffUsb é o vencedor claro ... Ele funciona no Windows XP (mas não mais tarde) e tem uma interface gráfica mais agradável tanto que as versões anteriores. Produz enorme arquivos de despejo, mas está tudo lá.
No entanto, o dispositivo é na verdade um dispositivo serial USB, então eu virei para Portmon que pode farejar o tráfego de porta serial sem a sobrecarga USB.
Solução
Pessoalmente, eu usaria QEMU ou KVM e instrumento de sua USB passthrough código, e então usar libusb para protótipo do controlador de substituição no espaço do usuário (este último pouco que eu fiz antes; escrever drivers de dispositivo USB em Python é divertido!).
Outras dicas
-
Uma vez que as pessoas não parecem perceber isso, Wireshark faz o tráfego monitor USB e tem um analisador para isso; mas o problema é que só funciona no Linux. Wireshark no Windows não vai fazer isso.
-
Pode ser possível conectar o dispositivo USB que você deseja monitorar, juntamente com uma máquina Linux (com Wireshark em execução) e sua máquina Windows e usar apenas o dispositivo USB no Windows.
-
Problema com o acima? Eu não sei como a máquina Linux ou a máquina Windows irá detectar o outro.
Depois de cinco anos de espera, agora é possível capturar os pacotes de USB no Windows
Consulte http://desowin.org/usbpcap/tour.html para um rápido passeio . Ele funciona muito bem
USBSnoop funciona também -. E é livre
Ou, você poderia comprar um USB para Ethernet conversor e usar qualquer rede sniffer você prefere ver os dados.
Busdog, um projeto open source hospedado no github , tem funcionado bem para mim. Ele tem um driver ele instala para permitir que ele para monitorar comunicações USB. A janela de configuração permite-lhe reinstalar ou remover o dispositivo a qualquer momento.
Você pode selecionar o dispositivo USB que você quer de uma lista enumerou. Um recurso interessante é que ele seja automaticamente traçar um novo dispositivo que está conectado:
comunicação de dados de e para um analisador de cabos de aço que estava engenharia reversa foram capturados na perfeição: