La base de datos ASN registra la relación entre los números de sistema autónomo (ASN) y los rangos de direcciones IP (IPv4 / IPv6). Con ella puedes determinar a qué operador, proveedor cloud o institución pertenece una IP, útil para división por proxy, análisis de red, optimización de enrutamiento y gestión de riesgos de seguridad. Los datos ASN suelen proceder de anuncios BGP, lo que refleja mejor la pertenencia real de la red.
¿Qué es un ASN?
Un ASN (Autonomous System Number) es un identificador asignado a una red autónoma. Cada ASN representa un dominio de red administrado por una organización y enrutable públicamente. Ejemplos: China Telecom (AS4134), China Mobile (AS9808), China Education and Research Network (AS4538), etc.
Piensa en el ASN como un “DNI de la red”: a través del ASN podemos identificar rápidamente la red upstream, el operador o el proveedor cloud al que pertenece una IP.
¿Para qué sirve la base ASN?
- Identificar la red u organización propietaria de una IP (operador, proveedor cloud, institución, etc.).
- Realizar un enrutamiento preciso por ASN (por ejemplo, nacional/extranjero, tres grandes operadores, proveedor cloud específico).
- Optimización de red: preferencias de enrutamiento, orquestación de nodos y estrategias QoS basadas en ASN.
- Análisis de seguridad: trazado de accesos anómalos e identificación de “rangos de proxy en la nube/IDC/residencial”.
Estructura de datos (descripción de columnas)
Dos tablas con el mismo esquema:
start_ip: IP inicial (IPv4/IPv6).end_ip: IP final (IPv4/IPv6).asn: número de sistema autónomo (entero).country_code: código de país/región (p. ej.US,CN).organization: nombre de la organización/empresa/red.
Nombres de tabla: asn_ipv4_prefixes, asn_ipv6_prefixes.
Descarga en línea
Se admiten tres formatos de salida: JSON (.gz), CSV (.gz) y SQL (.gz), cubriendo tanto IPv4 como IPv6.
| Fuente | Tipo | Formato | Descarga | Descripción |
|---|---|---|---|---|
| IPIN | IPv6 | JSON (.gz) | Mapeo ASN → prefijos IPv6, arreglo JSON, idóneo para procesamiento en programas. | |
| IPIN | IPv6 | CSV (.gz) | Separado por comas, con encabezado; ideal para hojas de cálculo/ETL. | |
| IPIN | IPv6 | SQL (.gz) | Incluye creación de tabla e instrucciones INSERT; importación directa en MySQL. | |
| IPIN | IPv4 | JSON (.gz) | Mapeo ASN → prefijos IPv4, arreglo JSON, idóneo para procesamiento en programas. | |
| IPIN | IPv4 | CSV (.gz) | Separado por comas, con encabezado; ideal para hojas de cálculo/ETL. | |
| IPIN | IPv4 | SQL (.gz) | Incluye creación de tabla e instrucciones INSERT; importación directa en MySQL. |
Nota: todas las descargas vienen comprimidas en .gz. Tras descargar, descomprime con gunzip o procesa directamente en flujo.
Descarga rápida por línea de comandos
curl
# IPv6 JSON
curl -fL -OJ 'https://ipin.io/download/export?type=ipv6&format=json'
# IPv6 CSV
curl -fL -OJ 'https://ipin.io/download/export?type=ipv6&format=csv'
# IPv6 SQL
curl -fL -OJ 'https://ipin.io/download/export?type=ipv6&format=sql'
# IPv4 JSON
curl -fL -OJ 'https://ipin.io/download/export?type=ipv4&format=json'
# IPv4 CSV
curl -fL -OJ 'https://ipin.io/download/export?type=ipv4&format=csv'
# IPv4 SQL
curl -fL -OJ 'https://ipin.io/download/export?type=ipv4&format=sql'
wget
# Usar automáticamente el nombre del archivo del servidor (--content-disposition)
# IPv6
wget --content-disposition 'https://ipin.io/download/export?type=ipv6&format=json'
wget --content-disposition 'https://ipin.io/download/export?type=ipv6&format=csv'
wget --content-disposition 'https://ipin.io/download/export?type=ipv6&format=sql'
# IPv4
wget --content-disposition 'https://ipin.io/download/export?type=ipv4&format=json'
wget --content-disposition 'https://ipin.io/download/export?type=ipv4&format=csv'
wget --content-disposition 'https://ipin.io/download/export?type=ipv4&format=sql'
# Nombre de archivo personalizado + reanudación
wget -c -O asn_ipv6_prefixes.json.gz 'https://ipin.io/download/export?type=ipv6&format=json'
wget -c -O asn_ipv6_prefixes.csv.gz 'https://ipin.io/download/export?type=ipv6&format=csv'
wget -c -O asn_ipv6_prefixes.sql.gz 'https://ipin.io/download/export?type=ipv6&format=sql'
wget -c -O asn_ipv4_prefixes.json.gz 'https://ipin.io/download/export?type=ipv4&format=json'
wget -c -O asn_ipv4_prefixes.csv.gz 'https://ipin.io/download/export?type=ipv4&format=csv'
wget -c -O asn_ipv4_prefixes.sql.gz 'https://ipin.io/download/export?type=ipv4&format=sql'
aria2c (descarga multiconexión)
# IPv6
aria2c -x16 -s16 -k1M -o asn_ipv6_prefixes.json.gz 'https://ipin.io/download/export?type=ipv6&format=json'
aria2c -x16 -s16 -k1M -o asn_ipv6_prefixes.csv.gz 'https://ipin.io/download/export?type=ipv6&format=csv'
aria2c -x16 -s16 -k1M -o asn_ipv6_prefixes.sql.gz 'https://ipin.io/download/export?type=ipv6&format=sql'
# IPv4
aria2c -x16 -s16 -k1M -o asn_ipv4_prefixes.json.gz 'https://ipin.io/download/export?type=ipv4&format=json'
aria2c -x16 -s16 -k1M -o asn_ipv4_prefixes.csv.gz 'https://ipin.io/download/export?type=ipv4&format=csv'
aria2c -x16 -s16 -k1M -o asn_ipv4_prefixes.sql.gz 'https://ipin.io/download/export?type=ipv4&format=sql'
PowerShell
# IPv6
Invoke-WebRequest -Uri "https://ipin.io/download/export?type=ipv6&format=json" -OutFile "asn_ipv6_prefixes.json.gz"
Invoke-WebRequest -Uri "https://ipin.io/download/export?type=ipv6&format=csv" -OutFile "asn_ipv6_prefixes.csv.gz"
Invoke-WebRequest -Uri "https://ipin.io/download/export?type=ipv6&format=sql" -OutFile "asn_ipv6_prefixes.sql.gz"
# IPv4
Invoke-WebRequest -Uri "https://ipin.io/download/export?type=ipv4&format=json" -OutFile "asn_ipv4_prefixes.json.gz"
Invoke-WebRequest -Uri "https://ipin.io/download/export?type=ipv4&format=csv" -OutFile "asn_ipv4_prefixes.csv.gz"
Invoke-WebRequest -Uri "https://ipin.io/download/export?type=ipv4&format=sql" -OutFile "asn_ipv4_prefixes.sql.gz"
Consejo: los archivos descargados son .gz. Puedes descomprimir con gunzip o procesarlos directamente en flujo dentro de tu programa.
Cómo usarla (guía rápida)
- Descarga y descomprime los archivos JSON / CSV / SQL (o procesa el flujo descomprimido).
- Importa a tu base de datos o carga en el modelo en memoria de tu aplicación.
- Define estrategias de enrutamiento/seguridad por ASN/organización/país (ruteo preferente, listas blanca/negra).
- Programa tareas automáticas (diarias/semanales) para actualizar.
Descripción de formatos
JSON
Arreglo de objetos con start_ip, end_ip, asn, country_code y organization.
CSV
La primera línea es el encabezado; los campos con comas o comillas se escapan conforme a la RFC 4180.
SQL
Incluye creación de tabla e instrucciones INSERT en lote; apto para importación directa en MySQL.
Notas adicionales
Los datos se basan en rutas BGP y registros públicos. Si solo necesitas ASN de China continental, consulta bgp.he.net/country/CN.
Preguntas frecuentes (FAQ)
- ¿Por qué el CSV a veces es más pequeño/grande que el JSON? Por el escape de cadenas y la redundancia de campos; ambos contienen la misma información. Elige según tu flujo de procesamiento.
- ¿Se admiten actualizaciones incrementales? Por ahora la exportación es completa; se recomienda reimportar con una tarea programada.
- ¿Fallo o tiempo de espera en la descarga? Usa los comandos curl/wget/aria2c anteriores y asegúrate de que tu red permite archivos grandes; el servidor comprime en flujo, adecuado para tablas extensas.