Загрузка базы данных ASN (JSON / CSV)

Автор:Lisa Farrell · 2025-11-09

База данных ASN фиксирует соответствие между номерами автономных систем (ASN) и диапазонами IP-адресов (IPv4 / IPv6). С её помощью можно определить, какому оператору связи/облачному провайдеру/организации принадлежит IP, что полезно для разделения трафика через прокси, сетевой аналитики, оптимизации маршрутизации и управления рисками безопасности. Данные ASN обычно получены из объявлений BGP и ближе к реальной принадлежности сети.

Что такое ASN?

ASN (Autonomous System Number) — это идентификатор, назначаемый автономной сети. Каждый ASN представляет сетевой домен, централизованно управляемый организацией и доступный для внешней маршрутизации. Примеры: China Telecom (AS4134), China Mobile (AS9808), China Education and Research Network (AS4538) и др.

ASN можно воспринимать как «паспорт сети»: по нему быстро определяется апстрим-сеть, оператор или облачный провайдер, к которому относится IP.

Что умеет база ASN

  • Определение сети или организации — владельца IP (оператор, облачный провайдер, учебное учреждение и т. п.).
  • Точное разделение трафика по ASN (например, внутри/вне страны, по трём крупным операторам, по конкретным облачным провайдерам).
  • Оптимизация сети: предпочтения маршрутов, оркестрация узлов, политики QoS на базе ASN.
  • Аналитика безопасности: трассировка аномальных обращений, распознавание «облачных прокси-диапазонов/IDC/жилых диапазонов».

Структура данных (описание столбцов)

Две таблицы с одинаковой схемой:

  • start_ip: начальный IP (IPv4/IPv6).
  • end_ip: конечный IP (IPv4/IPv6).
  • asn: номер автономной системы (целое число).
  • country_code: код страны/региона (напр., US, CN).
  • organization: название организации/компании/сети.

Имена таблиц: asn_ipv4_prefixes, asn_ipv6_prefixes.

Онлайн-загрузка

Поддерживаются три формата вывода: JSON (.gz), CSV (.gz), SQL (.gz) — для IPv4 и IPv6 соответственно.

Источник Тип Формат Скачать Описание
IPIN IPv6 JSON (.gz) Соответствие ASN → префиксы IPv6; массив JSON, удобен для программной обработки.
IPIN IPv6 CSV (.gz) Стандартный CSV с заголовком; подходит для таблиц/ETL.
IPIN IPv6 SQL (.gz) Содержит создание таблицы и INSERT; удобен для прямого импорта в MySQL.
IPIN IPv4 JSON (.gz) Соответствие ASN → префиксы IPv4; массив JSON, удобен для программной обработки.
IPIN IPv4 CSV (.gz) Стандартный CSV с заголовком; подходит для таблиц/ETL.
IPIN IPv4 SQL (.gz) Содержит создание таблицы и INSERT; удобен для прямого импорта в MySQL.

Примечание: все файлы распространяются в формате .gz. После загрузки распакуйте через gunzip или обрабатывайте потоком.

Быстрая загрузка из командной строки

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

# Автоматически использовать имя файла с сервера (--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'

# Свое имя файла + докачка
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 (многопоточная быстрая загрузка)

# 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"

Подсказка: скачанные файлы — это архивы .gz. Используйте gunzip для распаковки или обрабатывайте их как поток прямо в приложении.

Как использовать (быстрый старт)

  1. Скачайте и распакуйте файлы JSON / CSV / SQL (или обрабатывайте поток распаковки напрямую).
  2. Импортируйте в БД или загрузите в оперативную модель вашего приложения.
  3. Настройте стратегии маршрутизации/безопасности по ASN/организации/стране (предпочтительные маршруты, белые/чёрные списки).
  4. Создайте периодические задания (ежедневно/еженедельно) для автоматических обновлений.

Описание форматов

JSON

Массив объектов с полями start_ip, end_ip, asn, country_code, organization.

CSV

Первая строка — заголовок; поля с запятыми/кавычками экранированы по RFC 4180.

SQL

Содержит создание таблицы и пакетные инструкции INSERT; подходит для прямого импорта в MySQL.

Дополнительная информация

Данные агрегированы на основе BGP-маршрутов и публичных регистров. Если нужны только ASN материкового Китая, см.  bgp.he.net/country/CN.

Частые вопросы (FAQ)

  • Почему размер CSV иногда отличается от JSON? Из-за экранирования строк и избыточности полей; информация одинакова — выбирайте формат под свой конвейер обработки.
  • Возможны ли инкрементальные обновления? Сейчас экспорт только полный; рекомендуем плановые задания с перезаписью данных.
  • Загрузка не удалась или истекло время ожидания? Используйте команды curl/wget/aria2c выше и убедитесь, что сеть допускает большие файлы; на сервере включена потоковая компрессия — удобно для больших таблиц.