Список всех IP интернет-провайдера

Для получения списка диапазонов IP адреса провайдера есть несколько сервисов.

Например, Hurricane Electric BGP Toolkit — позволяет делать поиск по имени. Но у этого сервиса есть существенные недостатки:

  • выдаётся не более 1000 записей
  • среди записей много нерелеватных данных
  • перед выдачей идёт проверка браузера — это затруднит или исключит автоматический парсинг, например, инструментами из командной строки.

Следующий сервис, который нам порекомендовал Google, это онлайн демонстрация программы «Тест IP v 1.7».

01

Работа этого сервиса достаточно хороша — диапазоны выдаются в удобочитаемом формате. Но смущает надпись «Обновление от 15 дек 2014». Теперь остается гадать, это относится к базе данных или к программе, но по сравнению с результатами из других источников, результаты этого сервиса несколько неполные.

В конечном счёте пал на сервис — 2ip.ua. Он не может искать по именам компании — нужно ввести один из IP, который принадлежит провайдеру, либо адрес веб-сайта провайдера, либо его RIPE NCC.

Главный его минус — это тот вид, в котором он выдаёт диапазоны адресов.

02

 

Зато он оказался крайне дружелюбным для парсинга в командной строке.

Если вы хотите узнать все IP другого провайдера (а не вашего), то можно сделать так:

curl -s -L --data "ip=www.parc.com" https://2ip.ua/ru/services/information-service/provider-ip?a=act | grep -o -E '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/[0-9]{1,2}'

 

Вместо www.parc.com вам нужно указать любой IP, который принадлежит интересующему вас провайдеру, либо адрес его веб-сайта.

Список IP города, области

Для этого можно воспользоваться IpGeoBase.ru.

Причём результаты также легко поддаются парсингу. Если вы хотите сохранить список из IP какого-либо города, то сначала зайдите на сайт IpGeoBase.ru, задайте нужные вам опции и скопируйте адрес получившейся страницы.

Теперь в командную строку скопируйте команду

curl -s 'URL' | grep -o -E '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} - [0-9]
{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' > diap_ip.txt

 

Где вместо ‘URL‘ введите адрес страницы на ipgeobase.ru, которую нужно пропарсить.

Результаты работы программы будут сохранены в файл diap_ip.txt.

05

Ещё один вариант — оффлайновый. Мне он даже ближе, т.к. актуальность базы данных IpGeoBase.ru вызывает у меня сомнения.

Скачиваем и распаковываем базу данных (она довольно большая — в распакованном виде более 400 мегабайт):

1
wget `curl -s https://db-ip.com/db/download/city | grep -E -o 'http://download.db-ip.com/free/dbip-city-20[0-9]{2}-[0-9]{2}.csv.gz'`&& gunzip dbip-city-*.csv.gz && mv dbip-city-* dbip-city-csv

Чтобы прикинуть, правильно ли вы ищите, наберите примерно такую команду (Murom замените на интересующий вас город):

1
CITY=Murom;cat dbip-city-csv | grep -E -i "$CITY"

ВНИМАНИЕ: некоторые населённые пункты написаны по-русски! Пробуйте также русские названия.

Для очистки списка сделайте так:

1
CITY=Murom;cat dbip-city-csv | grep -E -i "$CITY" | sed 's/","/-/' | cut -d ',' -f 1 | sed 's/"//' | sed 's/"//'

Сохраняем в файл полученные результаты:

1
CITY=Murom;cat dbip-city-csv | grep -E -i "$CITY" | sed 's/","/-/' | cut -d ',' -f 1 | sed 's/"//' | sed 's/"//' > IP_City_$CITY.txt

Если вы хотите получить все IP адреса какой-либо области, то смотрите мой пример. Меня интересует Владимирская область. Начните с укороченного названия на русском:

CITY=владимир;cat dbip-city-csv | grep -E -i «$CITY» | sed ‘s/»,»/-/’

Результат пустой — хорошо, запомнили это и продолжаем. Пробуем сокращённое английское название:

1
CITY=vladimir;cat dbip-city-csv | grep -E -i "$CITY" | sed 's/","/-/'

Вариантов написания много: «Vladimir Oblast», Vladimirskaya Oblast\’, Province of Vladimir, Vladimirskaya oblast, Влади́мирская О́бласть (хм, запись нашлась по городу Vladimir, сколько ещё русских названий мы пропустили?). Если там что-то лишнее, то делаем примерно так:

1
CITY='Vladimirskaya oblast|Province of Vladimir';cat dbip-city-csv | grep -E -i "$CITY" | sed 's/","/-/'

У меня лишних результатов нет, поэтому я просто очищаю полученный по укороченного английскому названию список:

1
CITY=vladimir;cat dbip-city-csv | grep -E -i "$CITY" | sed 's/","/-/' | cut -d ',' -f 1 | sed 's/"//' | sed 's/"//' > IP_Region_$CITY.txt

Список всех IP страны

Получить полный список IP любой страны очень просто.

Скачиваем и распаковываем базу данных:

1
wget `curl -s https://db-ip.com/db/download/country | grep -E -o 'http://download.db-ip.com/free/dbip-country-20[0-9]{2}-[0-9]{2}.csv.gz'` && gunzip dbip-country-*csv.gz && mv dbip-country-* dbip-country-csv

В следующей команде там где COUNTRY=RU, замените RU на двухсимвольное обозначение любой интересующей вас страны. Двухбуквенные коды любой страны вы можете узнать здесь.

Эта команда составит полный список IP и сохранит его в файл для РФ:

1
COUNTRY=RU;cat dbip-country-csv | grep -E "$COUNTRY" | sed 's/","/-/' | sed 's/`echo $COUNTRY`//' | cut -d ',' -f 1 | sed 's/"//' | sed 's/"//' > IP_Country_$COUNTRY.txt

А эта команда сделает то же самое для Таиланда:

1
COUNTRY=TH;cat dbip-country-csv | grep -E "$COUNTRY" | sed 's/","/-/' | sed 's/`echo $COUNTRY`//' | cut -d ',' -f 1 | sed 's/"//' | sed 's/"//' > IP_Country_$COUNTRY.txt

  • Фишинг

    Что такое фишинг?

    Действия мошенников, целью которых является выяснение финансовой информации пользователей,…
  • Видеокарты для майнинга криптовалют

    Видеокарты для майнинга криптовалют

    С течением времени наблюдается постоянный и стабильный рост стоимости одной единицы крипто…
  • Психология манипулирования

    Психология манипулирования

    Методы манипуляций масс. Удивительно, но большинство индивидов совсем не обращают внимания…
Показать больше в Интересное

Один Комментарий

  1. zaxt

    Июнь 14, 2017 в 17:21

    Спасибо норм все по полочкам разложили

    0

Оставить комментарий

Проверьте также

Что такое фишинг?

Действия мошенников, целью которых является выяснение финансовой информации пользователей,…