Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
dump1090 — Dump1090 é um decodificador Mode S simples para dispositivos RTLSDR. | Kitploit
Ferramentas/GitHubGitHub/malcolmrobb/dump1090
Segurança de Sistemas EmbarcadosMapeamento de RedeColeta de InformaçõesSegurança Sem FioSegurança de HardwareUtilitários e Frameworks
GitHubmalcolmrobb/dump1090

dump1090

Dump1090 é um decodificador Mode S simples para dispositivos RTLSDR.

Ver Repositório
1.1k3195há 11 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Dump1090 README

Dump 1090 é um decodificador Mode S especificamente projetado para dispositivos RTLSDR.

As principais características são:

  • Decodificação robusta de mensagens fracas, com muitos usuários do mode1090 observando maior alcance em comparação com outros decodificadores populares.
  • Suporte de rede: fluxo TCP30003 (MSG5...), pacotes Raw, HTTP.
  • Servidor HTTP embutido que exibe as aeronaves atualmente detectadas no Google Map.
  • Correção de erros de bit único usando o CRC de 24 bits.
  • Capacidade de decodificar mensagens DF11, DF17.
  • Capacidade de decodificar formatos DF como DF0, DF4, DF5, DF16, DF20 e DF21, onde o checksum é submetido a XOR com o endereço ICAO, forçando o campo de checksum por brute force usando endereços ICAO vistos recentemente.
  • Decodificar amostras IQ brutas de arquivo (usando a opção de linha de comando --ifile).
  • Modo interativo de interface de linha de comando onde as aeronaves atualmente detectadas são mostradas como uma lista que é atualizada conforme mais dados chegam.
  • Decodificação de coordenadas CPR e cálculo de trajetória a partir da velocidade.
  • Servidor TCP transmitindo e recebendo dados brutos para/de clientes conectados (usando --net).

Instalação

Digite "make".

Uso normal

Para capturar tráfego diretamente do seu dispositivo RTL e exibir o tráfego capturado na saída padrão, basta executar o programa sem nenhuma opção:

root@kitploit:~
./dump1090

Para apenas exibir mensagens hexadecimais:

root@kitploit:~
./dump1090 --raw

Para executar o programa no modo interativo:

root@kitploit:~
./dump1090 --interactive

Para executar o programa no modo interativo, com suporte a rede, e conectar com seu navegador a http://localhost:8080 para ver o tráfego ao vivo:

root@kitploit:~
./dump1090 --interactive --net

No modo interativo é possível ter uma saída menos densa em informações, mas com mais "estilo arcade", onde a tela é atualizada a cada segundo exibindo todas as aeronaves vistas recentemente com algumas informações adicionais, como altitude e número do voo, extraídas dos pacotes Mode S recebidos.

Usando arquivos como fonte de dados

Para decodificar dados de arquivo, use:

root@kitploit:~
./dump1090 --ifile /path/to/binfile

O arquivo binário deve ser criado usando rtl_sdr desta forma (ou com qualquer outro programa capaz de gerar amostras IQ sem sinal de 8 bits a uma taxa de amostragem de 2Mhz).

root@kitploit:~
rtl_sdr -f 1090000000 -s 2000000 -g 50 output.bin

No exemplo, rtl_sdr usa um ganho de 50; simplesmente você deve usar o maior ganho disponível para seu sintonizador. Isso não é necessário ao chamar o Dump1090, pois ele é capaz de selecionar automaticamente o maior ganho suportado.

É possível alimentar o programa com dados pela entrada padrão usando a opção --ifile com "-" como argumento.

Opções adicionais

Dump1090 pode ser chamado com outras opções de linha de comando para definir um ganho, frequência diferentes, e assim por diante. Para uma lista de opções use:

root@kitploit:~
./dump1090 --help

Tudo o que não está documentado aqui deve ser óbvio, e para a maioria dos usuários chamá-lo sem argumentos é a melhor coisa a fazer.

Confiabilidade

Por padrão, o Dump1090 verifica erros de decodificação usando o checksum CRC de 24 bits, quando disponível. Mensagens com erros são descartadas.

A opção de linha de comando --fix ativa a correção de erros de bit único baseada no checksum CRC. Tecnicamente, ela usa uma tabela de diferenças de checksum pré-computadas resultantes de erros de bit único para localizar a posição incorreta do bit.

Isso de fato corrige erros e funciona de forma confiável na minha experiência; porém, se você estiver interessado em dados muito confiáveis, sugiro usar a opção de linha de comando --no-fix para desabilitar a correção de erros.

Desempenho e sensibilidade de detecção

Na minha experiência limitada, o Dump1090 foi capaz de decodificar um grande número de mensagens mesmo em condições onde encontrei problemas usando outros programas; no entanto, nenhum teste formal foi realizado, então não posso realmente afirmar que este programa é melhor ou pior comparado a outros programas similares.

Se você conseguir capturar tráfego que o Dump1090 não consiga decodificar adequadamente, envie-me um e-mail com um link para download. Posso tentar melhorar a detecção durante meu tempo livre (este é apenas um projeto de hobby).

Recursos do servidor de rede

Ao habilitar o suporte de rede com --net, o Dump1090 começa a escutar conexões de clientes nas portas 30002 e 30001 (você pode alterar ambas as portas se quiser, veja a saída de --help).

Porta 30002

Os clientes conectados recebem os dados assim que eles chegam do dispositivo (ou do arquivo, se --ifile for usado) no formato bruto semelhante ao seguinte:

root@kitploit:~
*8D451E8B99019699C00B0A81F36E;

Cada entrada é separada por uma simples quebra de linha (caractere LF, hex 0x0A).

Porta 30001

A porta 30001 é a porta de entrada bruta e pode ser usada para alimentar o Dump1090 com dados no mesmo formato especificado acima, com mensagens hexadecimais começando com * e terminando com ;.

Assim, por exemplo, se houver outra instância remota do Dump1090 coletando dados, é possível somar a saída a uma instância local do Dump1090 fazendo algo como isto:

root@kitploit:~
nc remote-dump1090.example.net 30002 | nc localhost 30001

É importante notar que o que é recebido pela porta 30001 também é transmitido para clientes ouvindo a porta 30002.

Em geral, tudo o que é recebido da porta 30001 é tratado exatamente como o tráfego normal de dispositivos RTL ou de arquivo quando --ifile é usado.

É possível usar o Dump1090 apenas como um hub usando --ifile com /dev/zero como argumento, como no exemplo a seguir:

root@kitploit:~
./dump1090 --net-only

Ou, alternativamente, para ver o que está acontecendo na tela:

root@kitploit:~
./dump1090 --net-only --interactive

Então você pode alimentá-lo com diferentes fontes de dados da internet.

Porta 30003

Os clientes conectados recebem mensagens no formato SBS1 (BaseStation), semelhante a:

root@kitploit:~
MSG,4,,,738065,,,,,,,,420,179,,,0,,0,0,0,0
MSG,3,,,738065,,,,,,,35000,,,34.81609,34.07810,,,0,0,0,0

Isso pode ser usado para alimentar dados em vários sites de compartilhamento sem a necessidade de usar outro decodificador.

Antena

As mensagens Mode S são transmitidas na frequência de 1090 MHz. Se você tiver uma antena decente, poderá captar sinais de aeronaves bem distantes da sua posição, especialmente se estiver ao ar livre e em uma posição com boa visão do céu.

Você pode facilmente construir uma antena muito barata seguindo as instruções em:

root@kitploit:~
http://antirez.com/news/46

Com esta antena trivial, fui capaz de captar sinais de aeronaves a mais de 200 km de mim.

Se você estiver interessado em uma antena mais séria, verifique os seguintes recursos:

  • http://gnuradio.org/redmine/attachments/download/246/06-foster-adsb.pdf
  • http://www.lll.lu/~edward/edward/adsb/antenna/ADSBantenna.html
  • http://modesbeast.com/pix/adsb-ant-drawing.gif

Modo agressivo

Com --aggressive é possível ativar o modo agressivo, que é uma versão modificada da detecção e decodificação de pacotes Mode S.

O modo agressivo normalmente usa mais CPU (especialmente se houver muitos aviões enviando pacotes DF17), mas pode detectar mais algumas mensagens.

O algoritmo no modo agressivo é modificado das seguintes formas:

  • Até dois erros de demodulação são tolerados (entradas adjacentes no vetor de magnitude com a mesma altura). Normalmente, apenas mensagens sem erros são verificadas.
  • Tenta corrigir mensagens DF17 com erros de CRC resultantes de quaisquer erros de dois bits.

O uso do modo agressivo só é recomendado em locais com pouco tráfego, a fim de ter a chance de capturar mais algumas mensagens.

Modo de depuração

O modo de depuração é um auxílio visual para melhorar o algoritmo de detecção ou entender por que o programa não está funcionando para uma determinada entrada.

Neste modo, as mensagens são exibidas em uma representação gráfica em estilo ASCII art, onde as barras de magnitude individuais amostradas a 2MHz são exibidas.

Um índice mostra o número da amostra, onde 0 é a amostra em que o primeiro pico Mode S foi encontrado. Algum ruído de fundo adicional também é adicionado antes do primeiro pico para fornecer contexto.

Para ativar o modo de depuração e verificar quais combinações de pacotes você pode registrar, use mode1090 --help para obter uma lista de flags de depuração disponíveis.

O modo de depuração inclui uma saída opcional em JavaScript que é usada para visualizar pacotes em um navegador; você pode usar o arquivo debug.html no diretório 'tools' para carregar o arquivo frames.js gerado.

Como este programa funciona?

O código é muito documentado e escrito para ser fácil de entender. Para o programador diligente com uma especificação Mode S em mãos, deve ser trivial entender como funciona.

Os algoritmos que usei foram obtidos basicamente observando muitas mensagens exibidas por um programa SDL descartável e tentando modelar o algoritmo com base na aparência gráfica das mensagens.

Como testar o programa?

Se você tiver um dispositivo RTLSDR e estiver em uma área onde haja aeronaves voando sobre sua cabeça, basta executar o programa e verificar os sinais.

No entanto, se você não tiver um dispositivo RTLSDR, ou se na sua área a presença de aeronaves for muito limitada, você pode querer experimentar o arquivo de exemplo distribuído com a distribuição do Dump1090 no diretório "testfiles".

Basta executá-lo assim:

root@kitploit:~
./dump1090 --ifile testfiles/modes1.bin

O que é o modo --strip?

É apenas um filtro simples que recebe amostras IQ brutas de 8 bits como entrada e gera um arquivo sem todas as partes do arquivo onde I e Q são menores que o especificado por mais de 32 amostras.

Use assim:

root@kitploit:~
cat big.bin | ./dump1090 --snip 25 > small.bin

Usei isso para criar um pequeno arquivo de teste para incluir na distribuição do código-fonte deste programa.

Contribuindo

Dump1090 foi escrito em algum tempo livre durante o Natal de 2012; é um projeto de hobby, então só poderei resolver problemas e melhorá-lo durante o tempo livre. No entanto, você é incentivado a enviar pull requests para melhorar o programa. Um bom ponto de partida pode ser a lista TODO incluída na distribuição do código-fonte.

Créditos

Dump1090 foi escrito por Salvatore Sanfilippo [email protected] e é distribuído sob a licença BSD de três cláusulas.

Baixar ferramenta