Tutorial de Sniffer USB de $34: Capture o Movimento do Mouse e as Teclas do Teclado Usando Wireshark
Tutorial de Sniffer USB: Capturar Movimento do Mouse e Teclas do Teclado Usando Wireshark
Neste projeto, exploramos como um dispositivo de captura USB pode ser usado para monitorar e analisar a comunicação USB entre um computador e dispositivos de entrada comuns, como um mouse e um teclado. Colocando um dispositivo de captura USB em linha entre o dispositivo USB e o computador, todos os pacotes USB que passam podem ser capturados e analisados em tempo real usando o Wireshark.
Este tutorial demonstra como movimentos do mouse, cliques de botões e até mesmo pressionamentos de teclas do teclado (incluindo senhas) podem ser observados no nível do protocolo USB. O projeto é destinado a fins educacionais para entender como os Dispositivos de Interface Humana USB (HID) funcionam internamente e por que a segurança física é tão importante quanto a segurança de software.

O que é um sniffer USB?
Um sniffer USB é um dispositivo de hardware que fica entre um periférico USB (como um mouse ou teclado) e um computador hospedeiro. Ele transmite os dados de forma transparente, de modo que o dispositivo funcione normalmente, enquanto simultaneamente captura e expõe os pacotes de dados USB por meio de uma interface de monitoramento separada.
Neste projeto, o sniffer USB atua como um dispositivo de passagem:
- O mouse ou teclado USB conecta-se ao sniffer.
- O sniffer se conecta ao computador.
- Uma conexão USB separada do sniffer vai para um computador de monitoramento rodando o Wireshark.
Todo o tráfego USB que passa entre o dispositivo e o computador pode ser capturado e decodificado sem afetar a operação normal :contentReference[oaicite:0]{index=0}.

Componentes Principais Usados
Hardware de Sniffer USB
O sniffer USB utilizado neste projeto é baseado em um design de FPGA criado por Alex Tarasov. O design completo inclui firmware, arquivos de PCB e ferramentas de software. A unidade comercial utilizada aqui vem pré-carregada com firmware, portanto, nenhuma atualização ou configuração é necessária antes do uso.
Internamente, o sniffer conecta-se às linhas de dados diferenciais USB e espelha os pacotes para uma interface USB separada que o Wireshark pode monitorar.
Mouse e Teclado (Dispositivos USB HID)
Tanto o mouse quanto o teclado são Dispositivos de Interface Humana USB (HID). Esses dispositivos enviam relatórios periódicos ao computador host descrevendo seu estado:
- Mouse: estados dos botões, movimento X, movimento Y
- Teclado: teclas modificadoras e códigos de varredura de teclas
Esses relatórios são transmitidos em formato claro e não criptografado através de USB, razão pela qual podem ser capturados por um sniffer.
Computador com Wireshark
O Wireshark é usado para capturar e analisar os pacotes USB. No Windows, a captura de USB requer componentes adicionais para permitir o acesso ao tráfego USB no nível do driver.
Fiação e Conexão
O analisador USB está conectado em linha entre o dispositivo USB e o computador.

- Conecte o mouse ou o teclado à porta de entrada USB do sniffer.
- Conecte a porta de saída USB do analisador de pacotes ao computador.
- Conecte a porta USB de monitoramento do sniffer a um mesmo ou outro computador executando o Wireshark.
O dispositivo USB continua a funcionar normalmente enquanto seu tráfego é espelhado para a porta de monitoramento.
Instalando Software Necessário
Instalação do Wireshark
O Wireshark deve ser instalado no computador de monitoramento. Durante a instalação no Windows, é essencial ativar o componente de suporte à captura USB. Sem este driver, o tráfego USB não pode ser capturado.
Uma vez instalado, o Wireshark listará as interfaces de captura USB ao lado das interfaces de rede.
Driver de Sniffer USB (Windows)
Um pequeno executável auxiliar é necessário no Windows para permitir que o Wireshark acesse os dados de captura de USB do hardware. Este executável deve ser colocado no caminho do sistema (por exemplo, diretamente na unidade C:) para que o Wireshark possa se comunicar com o sniffer.
Capturando Dados USB no Wireshark
Após iniciar o Wireshark, selecione a interface do sniffer USB e comece a capturar. Inicialmente, uma grande quantidade de tráfego USB não relacionado pode aparecer.
Aplicando Filtros USB
Para se concentrar apenas nos dados USB relevantes, um filtro de exibição é aplicado:
usbllEste filtro mostra apenas pacotes da Camada de Link USB, que contêm as transações USB brutas trocadas entre o dispositivo e o host.
É necessário um filtragem adicional porque o USB produz um volume de dados muito alto.
Filtrando por ID de Pacote (PID)
Pacotes de dados do mouse e do teclado podem ser identificados por IDs de Pacote específicos (PID). Neste projeto, os PIDs relevantes observados são:
0xC30x4B
Esses podem ser filtrados no Wireshark usando:
usbll.pid == 0xC3 || usbll.pid == 0x4BEste filtro isola pacotes de relatório HID provenientes do mouse ou teclado.
Entendendo os Dados do Mouse
Quando o mouse é movido ou clicado, os relatórios HID são enviados continuamente. Cada relatório contém vários bytes:
- ID do Relatório
- Estados dos botões (esquerda, direita, meio)
- Movimento ao longo do eixo X
- Movimento no eixo Y
Ao observar os valores de byte que mudam no Wireshark, pode-se inferir a direção e a velocidade do movimento do mouse. Mesmo sem clicar, o movimento por si só gera atividade visível no USB.
Entendendo os Dados do Teclado
Os dados do teclado são enviados como relatórios HID contendo códigos de varredura em vez de valores ASCII. Cada tecla corresponde a um ID de uso HID específico.
Por exemplo:
0x04→ Letra A0x05→ Letra B0x0E→ Letra K
As letras maiúsculas e minúsculas são determinadas por teclas modificadoras como Shift, que aparecem em bytes separados do relatório.
Teclas de função como F12 também geram códigos de varredura únicos que podem ser observados diretamente nos pacotes capturados.
Implicações de Segurança
Este projeto demonstra claramente que o tráfego USB HID não é criptografado. Se um dispositivo malicioso for colocado fisicamente entre um teclado e um computador, ele pode capturar cada pressionamento de tecla, incluindo nomes de usuário e senhas.
É por isso que a segurança USB, o hardware confiável e o controle de acesso físico são críticos em ambientes sensíveis.
Resumo da Demonstração
Nesta demonstração, os seguintes elementos foram capturados e decodificados com sucesso:
- Movimento do mouse e atividade dos botões
- Pressionamentos individuais das teclas do teclado
- Teclas de função e teclas modificadoras
- Complete as palavras digitadas no teclado
O sniffer USB opera de forma transparente, tornando a detecção difícil sem inspeção física.
Conclusão
Este projeto de sniffer USB oferece uma poderosa demonstração prática de como a comunicação USB funciona no nível mais baixo. Ao combinar hardware de sniffing dedicado com o Wireshark, torna-se possível ver exatamente como dispositivos de entrada se comunicam com computadores.
O projeto é ideal para aprender os protocolos USB, estruturas de relatórios HID e considerações de segurança do mundo real. Embora demonstrado com um mouse e teclado, os mesmos princípios se aplicam a muitos outros dispositivos USB.
Download de Software
O aplicativo auxiliar do Windowsusb_sniffer_win.exenecessário para capturar dados USB com o Wireshark está disponível para download abaixo deste artigo.
Coisas que você pode precisar
-
AmazonasComprar sniffer USB na Amazonamzn.to
-
eBayCompre um sniffer USB no eBay.ebay.us
-
AliExpressCompre um analisador USB no AliExpress.s.click.aliexpress.com
-
BanggoodCompre um sniffer USB da Banggoodbanggood.com
Recursos e referências
-
BaixarBaixar Wiresharkwireshark.org
Arquivos📁
Manual do Usuário
-
Manual do usuário do Sniffer USB
usb_sniffer_manual_english-1.pdf1.06 MB
Outros arquivos
-
usb_sniffer_win.exe
usb_sniffer_win.zip0.29 MB