Распределение IP-адресов RIR между странами и ASN

Вопрос или проблема

Я пытаюсь построить сервис блокировки по GeoIP. У меня есть данные о IP-адресах, выделенных RIR странам. Сейчас я ищу IP-адреса, выделенные автономным системам RIR. Где я могу найти такие данные, желательно в виде файла в любом формате, а не в виде данных, представленных на веб-сайте? Мне нужно получить эту ссылку программно и регулярно обновлять эти правила.

Также мне хотелось бы узнать, какие из автономных систем, которым были назначены IP-адреса RIR, на самом деле являются провайдерами интернет-услуг. Организация, достаточно крупная, чтобы запросить ASN напрямую у RIR, вряд ли будет источником вредоносного трафика, но не то же самое можно сказать о конечных пользователях любого ISP.

Я думаю, в дополнение к черному списку стран, я могу также навсегда внести в белый список все IP-адреса, выделенные ASN на уровне RIR.

Ответ или решение

Для создания сервиса блокировки на основе GeoIP на основе ваших требований, вам необходимо получить данные о распределении IP-адресов автономным системам (AS) от Региональных Интернет-Регистраторов (RIR). Вот шаги и ресурсы, которые помогут вам в этом:

1. Данные о распределении IP-адресов:

Конкретно для получения информации о распределении IP-адресов по автономным системам вы можете использовать следующие ресурсы:

  • WHOIS-запросы: Используйте WHOIS для получения информации о блоках IP, распределенных конкретному ASN. Это может быть сделано программно с помощью библиотек для вашего языка программирования (например, whois в Python).
  • Ресурсы RIR:

Некоторые RIR предоставляют данные в виде файлов или через API. Например, вы можете использовать API RIPE для получения информации о конкретных ASN и их IP-адресах.

2. Форматы и частота обновления:

  • Файлы: Например, RIPE NCC предоставляет данные в формате CSV, которые можно загружать и обрабатывать. В большинстве случаев, файлы можно обновлять по расписанию (например, раз в неделю).
  • API: Некоторые RIR предлагают API для программного доступа к информации о IP-адресах, в том числе ассоциациях между IP-адресами и ASN. Вы можете настроить регулярные запросы к этим API и хранить результаты.

3. Определение ISPs:

Чтобы определить, какие ASN являются интернет-провайдерами, вы можете:

  • Использовать базы данных, такие как CIDR Report или Db-IP, которые предлагают информацию о типах организаций, ассоциированных с ASN (например, есть ли у них статус ISP).
  • Просматривать данные в WHOIS о конкретных ASN, чтобы проверить, например, обозначение "ISP" или другую информацию о предоставляемых ими услугах.

4. Создание черных и белых списков:

  1. Черный список: Список стран можно использовать для блокировки, добавляя IP-адреса из стран, которые вы хотите исключить.
  2. Белый список: Ваша идея о том, чтобы добавлять все IP-адреса, выделенные ASN, которые вы установили как надежные, вполне осуществима. Это может включать автоматизированный процесс анализа таких ASN на предмет их статуса и типа (например, ISP), и добавление IP-адресов в белый список.

Пример простого Python-скрипта для работы с WHOIS:

import whois

def get_asn_ip_ranges(asn):
    # Получение данных о ASN
    info = whois.whois(asn)
    return info

# Пример использования
asn = 'AS12345'  # Замените на необходимый ASN
ip_ranges = get_asn_ip_ranges(asn)
print(ip_ranges)

Заключение:

Следуя вышеизложенным шагам, вы сможете создать эффективный сервис блокировки на основе GeoIP. Регулярное обновление данных через API или автоматизированные скрипты позволит поддерживать актуальность ваших блокировок и белых списков. Не забудьте следить за изменениями в IP-распределении, поскольку данные могут обновляться.

Оцените материал
Добавить комментарий

Капча загружается...