Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
dump1090 — Dump1090 es un sencillo decodificador de Mode S para dispositivos RTLSDR | Kitploit
Herramientas/GitHubGitHub/malcolmrobb/dump1090
Seguridad de Sistemas EmbebidosMapeo de RedesRecopilación de InformaciónSeguridad InalámbricaSeguridad de HardwareUtilidades y Frameworks
GitHubmalcolmrobb/dump1090

dump1090

Dump1090 es un sencillo decodificador de Mode S para dispositivos RTLSDR

Ver Repositorio
1.1k319hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Dump1090 README

Dump 1090 es un decodificador Mode S diseñado específicamente para dispositivos RTLSDR.

Las principales características son:

  • Decodificación robusta de mensajes débiles; con mode1090 muchos usuarios observaron un alcance mejorado en comparación con otros decodificadores populares.
  • Soporte de red: flujo TCP30003 (MSG5...), paquetes raw, HTTP.
  • Servidor HTTP integrado que muestra las aeronaves detectadas actualmente en Google Maps.
  • Corrección de errores de un solo bit mediante el CRC de 24 bits.
  • Capacidad de decodificar mensajes DF11, DF17.
  • Capacidad de decodificar formatos DF como DF0, DF4, DF5, DF16, DF20 y DF21, donde el checksum se combina mediante XOR con la dirección ICAO, aplicando fuerza bruta al campo de checksum usando direcciones ICAO vistas recientemente.
  • Decodificación de muestras IQ crudas desde archivo (usando el modificador de línea de comandos --ifile).
  • Modo interactivo de interfaz de línea de comandos donde las aeronaves detectadas se muestran como una lista que se actualiza a medida que llegan más datos.
  • Decodificación de coordenadas CPR y cálculo de trayectoria a partir de la velocidad.
  • Servidor TCP que transmite y recibe datos crudos desde/hacia los clientes conectados (usando --net).

Instalación

Escriba "make".

Uso normal

Para capturar tráfico directamente desde su dispositivo RTL y mostrar el tráfico capturado en la salida estándar, ejecute el programa sin opciones:

root@kitploit:~
./dump1090

Para mostrar únicamente mensajes hexadecimales:

root@kitploit:~
./dump1090 --raw

Para ejecutar el programa en modo interactivo:

root@kitploit:~
./dump1090 --interactive

Para ejecutar el programa en modo interactivo, con soporte de red, y conectarse con su navegador a http://localhost:8080 para ver tráfico en vivo:

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

En el modo interactivo es posible tener una salida menos densa en información pero más de "estilo arcade", donde la pantalla se actualiza cada segundo mostrando todas las aeronaves vistas recientemente, con información adicional como altitud y número de vuelo, extraída de los paquetes Mode S recibidos.

Uso de archivos como fuente de datos

Para decodificar datos desde un archivo, use:

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

El archivo binario debe crearse usando rtl_sdr de esta manera (o con cualquier otro programa capaz de generar muestras IQ sin signo de 8 bits a una tasa de muestreo de 2 MHz).

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

En el ejemplo se usa una ganancia de 50 con rtl_sdr; simplemente debe usar la ganancia más alta disponible para su sintonizador. Esto no es necesario al invocar a Dump1090, ya que puede seleccionar automáticamente la ganancia más alta admitida.

Es posible alimentar al programa con datos a través de la entrada estándar usando la opción --ifile con "-" como argumento.

Opciones adicionales

Dump1090 puede invocarse con otras opciones de línea de comandos para establecer una ganancia, frecuencia, etcétera, diferentes. Para obtener una lista de opciones use:

root@kitploit:~
./dump1090 --help

Todo lo que no está documentado aquí debería ser evidente, y para la mayoría de los usuarios lo mejor es invocarlo sin argumentos.

Fiabilidad

Por defecto, Dump1090 verifica los errores de decodificación usando el checksum CRC de 24 bits, cuando está disponible. Los mensajes con errores se descartan.

El modificador de línea de comandos --fix habilita la corrección de errores de un solo bit basada en el checksum CRC. Técnicamente, usa una tabla de diferencias de checksum precalculadas resultantes de errores de un solo bit para localizar la posición del bit erróneo.

De hecho, esto puede corregir errores y funciona de forma fiable en mi experiencia; sin embargo, si le interesan datos muy fiables, sugiero usar el modificador de línea de comandos --no-fix para deshabilitar la corrección de errores.

Rendimiento y sensibilidad de detección

En mi limitada experiencia, Dump1090 pudo decodificar una gran cantidad de mensajes incluso en condiciones donde tuve problemas con otros programas; sin embargo, no se realizó ninguna prueba formal, así que no puedo afirmar realmente que este programa sea mejor o peor en comparación con otros programas similares.

Si puede capturar tráfico que Dump1090 no sea capaz de decodificar correctamente, envíeme un correo electrónico con un enlace de descarga. Puede que intente mejorar la detección en mi tiempo libre (esto es solo un proyecto de hobby).

Características del servidor de red

Al habilitar el soporte de red con --net, Dump1090 comienza a escuchar conexiones de clientes en los puertos 30002 y 30001 (puede cambiar ambos puertos si lo desea; consulte la salida de --help).

Puerto 30002

Los clientes conectados reciben los datos tan pronto como llegan del dispositivo (o del archivo si se usa --ifile) en el formato crudo similar al siguiente:

root@kitploit:~
*8D451E8B99019699C00B0A81F36E;

Cada entrada está separada por un simple salto de línea (carácter LF, hex 0x0A).

Puerto 30001

El puerto 30001 es el puerto de entrada cruda y se puede usar para alimentar a Dump1090 con datos en el mismo formato especificado anteriormente, con mensajes hexadecimales que comienzan con * y terminan con el carácter ;.

Por ejemplo, si hay otra instancia remota de Dump1090 recopilando datos, es posible sumar su salida a una instancia local de Dump1090 haciendo algo como esto:

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

Es importante señalar que lo que se recibe a través del puerto 30001 también se retransmite a los clientes que escuchan en el puerto 30002.

En general, todo lo recibido desde el puerto 30001 se gestiona exactamente igual que el tráfico normal de los dispositivos RTL o de los archivos cuando se usa --ifile.

Es posible usar Dump1090 solo como un concentrador usando --ifile con /dev/zero como argumento, como en el siguiente ejemplo:

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

O, alternativamente, para ver lo que sucede en la pantalla:

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

Luego puede alimentarlo desde diferentes fuentes de datos de internet.

Puerto 30003

Los clientes conectados reciben mensajes en formato SBS1 (BaseStation), similar 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

Esto se puede usar para alimentar datos a varios sitios de intercambio sin necesidad de usar otro decodificador.

Antena

Los mensajes Mode S se transmiten en la frecuencia de 1090 MHz. Si tiene una antena decente, podrá captar señales de aeronaves bastante lejos de su posición, especialmente si está al aire libre y en un lugar con buena vista del cielo.

Puede construir fácilmente una antena muy económica siguiendo las instrucciones en:

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

Con esta antena tan sencilla pude captar señales de aeronaves a más de 200 km de distancia.

Si le interesa una antena más seria, consulte los siguientes 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 agresivo

Con --aggressive es posible activar el modo agresivo, una versión modificada de la detección y decodificación de paquetes Mode S. El modo agresivo suele usar más CPU (especialmente si hay muchos aviones enviando paquetes DF17), pero puede detectar algunos mensajes más.

El algoritmo en modo agresivo se modifica de las siguientes maneras:

  • Se toleran hasta dos errores de demodulación (entradas adyacentes en el vector de magnitudes con la misma altura). Normalmente solo se verifican los mensajes sin errores.
  • Intenta corregir mensajes DF17 con errores CRC resultantes de errores de dos bits cualesquiera.

El uso del modo agresivo solo se recomienda en lugares donde hay poco tráfico, para tener la oportunidad de capturar algunos mensajes más.

Modo de depuración

El modo de depuración es una ayuda visual para mejorar el algoritmo de detección o para entender por qué el programa no funciona con una entrada determinada.

En este modo, los mensajes se muestran en una representación gráfica estilo arte ASCII, donde se muestran las barras de magnitud individuales muestreadas a 2 MHz.

Un índice muestra el número de muestra, donde 0 es la muestra donde se encontró el primer pico Mode S. También se añade algo de ruido de fondo adicional antes del primer pico para proporcionar contexto.

Para habilitar el modo de depuración y comprobar qué combinaciones de paquetes puede registrar, use mode1090 --help para obtener una lista de las banderas de depuración disponibles.

El modo de depuración incluye una salida opcional de JavaScript que se usa para visualizar paquetes mediante un navegador web; puede usar el archivo debug.html del directorio 'tools' para cargar el archivo frames.js generado.

¿Cómo funciona este programa?

El código está muy documentado y escrito para ser fácil de entender. Para el programador diligente que tenga a mano una especificación Mode S, debería ser trivial entender cómo funciona.

Los algoritmos que usé se obtuvieron básicamente observando muchos mensajes tal como se mostraban en un programa SDL de prueba, e intentando modelar el algoritmo basándome en el aspecto gráfico de los mensajes.

¿Cómo probar el programa?

Si tiene un dispositivo RTLSDR y se encuentra en un área donde hay aeronaves volando sobre su cabeza, simplemente ejecute el programa y verifique las señales.

Sin embargo, si no tiene un dispositivo RTLSDR, o si en su área la presencia de aeronaves es muy limitada, puede probar el archivo de muestra distribuido con Dump1090 en el directorio "testfiles".

Simplemente ejecútelo así:

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

¿Qué es el modo --strip?

Es simplemente un filtro que toma como entrada muestras IQ crudas de 8 bits y genera un archivo al que le faltan todas las partes donde I y Q son menores que el especificado durante más de 32 muestras.

Úselo así:

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

Lo usé para crear un pequeño archivo de prueba para incluir en la distribución del código fuente de este programa.

Contribuciones

Dump1090 fue escrito en tiempo libre durante la Navidad de 2012; es un proyecto de hobby, así que solo podré atender problemas y mejorarlo en mi tiempo libre. Sin embargo, le animo a enviar pull requests para mejorar el programa. Un buen punto de partida puede ser la lista TODO incluida en la distribución del código fuente.

Créditos

Dump1090 fue escrito por Salvatore Sanfilippo [email protected] y se publica bajo la licencia BSD de tres cláusulas.

Descargar herramienta