Интересное

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

Содержание:

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

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

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

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

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

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

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

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

 

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

Если вы хотите узнать все 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.

Ещё один вариант — оффлайновый. Мне он даже ближе, т.к. актуальность базы данных 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

Denton

View Comments

Recent Posts

Windows 10 стала работать медленнее после установки обновления? Исправим это

Ваш компьютер на Windows 10 перестал быть быстрым после обновления системы? Мы подскажем, как устранить…

3 года ago

Описание приложения-чата по приглашениям Clubhouse

Это приложение для iPhone основано на приглашениях и аудио. С его помощью можно всё равно…

3 года ago

Изменение почтового клиента по умолчанию в iOS 14 на Outlook, Spark, Gmail и другие

Одним из самых значительных изменений в операционной системе iOS 14 является возможность менять приложения по…

4 года ago

Включение пузырей уведомлений в чатах на Android 11

В системе Android 10 появился фреймворк для пузырей чатов, популярность которым принёс Messenger. Новая система…

4 года ago

Как настроить беспроводную отладку в Android 11

От загрузки в режим Fastboot при помощи одной команды до установки модов без рута, есть…

4 года ago

Главные проблемы Android 11 Beta и следует ли устанавливать её

Бета-версия операционной системы Android 11 в настоящее время доступна для устройств Google Pixel. Нужно посетить…

4 года ago