Как узнать все IP провайдера, города, региона (области, республики) или страны


Все перечисленные здесь возможности теперь реализованы онлайн на едином сервисе. Смотрите: http://suip.biz/ru/

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

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

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

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

Следующий сервис, который мне подсказал Гугл, это онлайн демонстрация программы «Тест 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 мегабайт):

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

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

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

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

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

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

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

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/,/-/'

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

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

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

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

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

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 любой страны очень просто.

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

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

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

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

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

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

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

Новый онлайн сервис SuIP.biz

Если описанные здесь инструкции и методики показались вам слишком сложными, то абсолютно все они реализованы с удобным графическим интерфейсом на сайте Супер IP. Смотрите здесь: http://suip.biz/ru/



Рекомендуется Вам:

4 комментария to Как узнать все IP провайдера, города, региона (области, республики) или страны

  1. Папа:

    Спасибо! то что надо, очень чётко расписано!!!

  2. melancholia:

    Если что так сразу Murom) )

    Благодарю за статью! 

  3. rk:

    Alexey, а где на сайте надо вбивать

    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}' ???

     

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *