База данных 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 для распаковки или обрабатывайте их как поток прямо в приложении.
Как использовать (быстрый старт)
- Скачайте и распакуйте файлы JSON / CSV / SQL (или обрабатывайте поток распаковки напрямую).
- Импортируйте в БД или загрузите в оперативную модель вашего приложения.
- Настройте стратегии маршрутизации/безопасности по ASN/организации/стране (предпочтительные маршруты, белые/чёрные списки).
- Создайте периодические задания (ежедневно/еженедельно) для автоматических обновлений.
Описание форматов
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 выше и убедитесь, что сеть допускает большие файлы; на сервере включена потоковая компрессия — удобно для больших таблиц.