Насколько точной может быть ip-геолокация?

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

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

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

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

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

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

Ещё один вариант — оффлайновый. Мне он даже ближе, т.к. актуальность базы данных 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{2}-{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-адресов оператором фиксированной связи. Однако есть по крайней мере три заметных отличия, которые могут значительно усложнить определение географического местоположения по IP для мобильных сетей.

  1. Устройство за IP-адресом не обязательно является стационарным. Иногда мы можем проехать несколько сотен километров и по-прежнему пользоваться той же сотовой сетью и тем же IP-адресом.

  2. IP-адрес не принадлежит одному пользователю, а распределен между группой пользователей которые могут находится на большом расстоянии друг от друга.

  3. Операторы сотовой сети часто используют общую точку доступа в Интернет с одним и тем же общим пулом доступных IP-адресов. Это может значительно увеличить зоны обслуживания блоков сотовых адресов.

Следовательно, какого результата мы должны ожидать от «идеального» сервиса IP-геолокации для IP-адресов, используемых в сотовой связи?

Даже сами операторы сотовой связи часто не имеют этих данных в реальном времени. 

Следовательно, в качестве первого шага для бизнеса было бы выгодно, если бы провайдеры IP-геолокации могли бы указать, принадлежит ли интересующий IP-адрес блоку сотовой связи или нет. Простой способ сделать это — проверить, предоставляет ли компания, обслуживающая этот IP-адрес, услуги сотовой связи, к примеру Vodafone, AT&T и т. д. Но это не всегда будет полезно, так как некоторые из этих компаний могут предоставлять услуги доступа в интернет по беспроводным и проводным каналам. Следовательно, мы должны иметь возможность обнаруживать сотовые сети независимо от компании которая их анонсирует.

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

Это очень важно знать, если нам нужно принять важное бизнес-решение на основе IP-геолокации

Как узнать диапазоны локальной подсети Интернет-провайдера

Начнём с того, что посмотрим, через какие узлы проходят пакеты, прежде чем попасть в глобальную сеть. Для этого применяется трассировка:

traceroute suip.biz

Первая строка:

 1  _gateway (192.168.1.1)  9.314 ms  9.661 ms  9.637 ms

это мой собственный роутер. Сканировать локальную сеть 192.168.1.1/24 смысла нет.

А вот следующие три адреса говорят нам о сети 10.0.0.0/8:

 2  10.20.48.1 (10.20.48.1)  9.886 ms  13.107 ms  16.762 ms
 3  10.246.245.241 (10.246.245.241)  19.784 ms  20.412 ms  20.399 ms
 4  10.185.252.29 (10.185.252.29)  20.797 ms  20.774 ms  20.728 ms

Но сеть 10.0.0.0/8 является реально большой (2563 = 16,777,216 адресов). Интернет провайдеру часто просто не нужна такая большая сеть и он использует только её части — подсети, в которых компактно собраны пользователи.

Можно предположить, что первый IP (10.20.48.1) является шлюзом для всех пользователей, которые расположены где-нибудь в 10.20.48.1-10.20.60.255.

Можно попробовать просканировать эти диапазоны. Но ключевую подсказку дала программа ZMap. Я запустил сканирование всей подсети в поисках хостов:

sudo zmap -p 80 10.0.0.0/8 -o zmap.txt -r 300

Но ждать почти сутки до завершения (через Wi-Fi сканирование происходит медленно, а я подключён именно так) мне не пришлось. Алгоритм сканирования ZMap такой, что она проверят хосты не последовательно, а в разнобой по всему указанному диапазону. И если пользователи действительно расположены компактно в определённых подсетях, то уже через короткое время (минут 15) можно понять, где именно они:

cat zmap.txt | sort

Пользователи оказались сконцентрированы в довольно небольших диапазонах:

  • 10.20.160.0-10.20.162.255
  • 10.20.48.1-10.20.63.255

Эти наблюдения не исключают, что пользователи могут быть и в других подсетях — проверить это можно только более длительным сканированием.

Я добавил эти диапазоны в Router Scan by Stas’M и получил примерно 1200 хороших результатов:

Выгрузка на 3WiFi показала, что там много новых ТД.

Всё?

Посмотрите внимательно на столбец WAN IP Address на скриншоте выше.

Они расположены компактно. Но это не всё. Программа whois:

whois 100.96.35.140

рассказала мне, что принадлежат они диапазону 100.64.0.0/10 (то есть 100.64.0.0 — 100.127.255.255). И что это Shared Address Space — то есть общее пространство адресов, которое может использоваться только в сетях провайдера услуг или на оборудовании для маршрутизации, которое способно делать преобразование адресов через интерфейсы роутеров, когда адреса являются идентичными на двух различных интерфейсах.

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

ping 100.96.35.140

Я проанализировал адреса и запустил Router Scan на диапазоне 100.96.32.1-100.96.56.255:

Набралось 200 хороших результатов и даже с учётом выгруженных предыдущих точек доступа, было больше сотни новых!

С помощью Parallel можно очень быстро искать адреса вида 10.x.x.1, которые могут оказаться шлюзами по умолчанию:

parallel -j250 'timeout 2 ping -c 1 10.{1}.{2}.1 >/dev/null && echo 10.{1}.{2}.1' ::: {1..255} ::: {1..255}

Судя по всему, этот метод дал мне ещё несколько подсетей:

Поискать живые хосты без сканирования портов можно и с помощью Nmap:

sudo nmap -sn 10.91.111.0/24

Но если нам не нужно во что бы то ни стало найти все живые хосты, если нас интересуют только те, на которых прослушивается 80й порт, то всё можно сделать намного быстрее с помощью ZMap:

sudo zmap -p 80 10.91.111.0/24 -r 300

Адреса из локальной подсети 10.0.0.0/8 можно найти даже когда на первый взгляд их там нет. Вот пример другого Интернет-провайдера, где никаких признаков локальной сети 10.0.0.0/8:

Но обычная ping с бустом от parallel доказывают обратное:

Хотя там может и не быть роутеров — какие-то технические сетевые узлы

Но при исследовании сети это всё равно важно.. Это небольшая заметка о том, как сканировать Интернет-провайдеров изнутри

Подытожим:

Это небольшая заметка о том, как сканировать Интернет-провайдеров изнутри. Подытожим:

  • сканируя локальные диапазоны мы получаем доступ к устройствам, которые невозможно просканировать из глобальной сети
  • проведя небольшой анализ можно узнать диапазон локальной сети (10.0.0.0/8, 172.16.0.0/12 или 100.64.0.0/10) и даже сильно сократить количество IP для сканирования

P.S.

Дописал и вспомнил, что почти такая же статья уже есть на основе документации к Router Scan by Stas’M: «Некоторые приёмы исследования сети»… Ну ладно, пускай будет две — в этой статье команды с ping намного быстрее. А в той первой статье есть примеры команд для Windows.

Как выбрать лучшую VPN для России

Я выбирал VPN для этого списка по нижеперечисленным важнейшим критериям:

  • Наличие серверов в России: у многих VPN нет серверов в России, потому что они запрещены в этой стране, если только VPN не соглашается выполнять строгие правила цензуры. Убедитесь в том, что у выбранной вами VPN есть физические или виртуальные серверы в России.
  • Доказанная способность обходить геоблоки: я протестировал все VPN из этого списка, чтобы убедиться, что они могут обеспечить доступ к российским сайтам из-за рубежа.
  • Сильное шифрование: у вашей VPN должно быть стандартное для отрасли шифрование AES-256, чтобы обеспечивать вам защиту от хакеров и властей.
  • Строгая безлоговая политика: безлоговая политика особенно важна при подключении к российскому серверу. Правительство России приняло строгие законы в отношении VPN, так что вам следует убедиться в том, что ваша VPN не сможет предоставить ваши данные, если власти когда-либо отправят запрос на их получение.
  • Молниеносные скорости: убедитесь в том, что ваша VPN обеспечивает высокие скорости и не использует ограничения в отношении количества передаваемых данных.

Краткий обзор: 5 лучших VPN для России по состоянию на Февраль 2021 года

  1. Surfshark: VPN №1 для России благодаря функции CleanWeb, обеспечивающей безопасность в Интернете, защиту от вредоносного ПО и блокировку рекламы и трекеров.
  2. PrivateVPN: шифрование военного уровня защищает вашу конфиденциальность во время пребывания в России, но этот сервис не может обеспечить доступ к Netflix США.
  3. VPN ZenMate: автоматическая функция экстренного отключения от Сети защищает анонимность в случае падения скоростей подключения, но этот сервис не работает в Китае.
  4. Hotspot Shield: протокол Catapult Hydra обеспечивает высокие скорости и высокий уровень безопасности, но при предшествующем владельце были проблемы с конфиденциальностью.
  5. VPN HMA: смена IP-адресов обеспечивает обход геоблокировок и цензуры, но в России у этого сервиса всего 2 сервера.

Белые и серые IP-адреса

Так уж сложилось в современном мире Интернет, что несмотря на огромное число возможных IP-адресов, а это чуть больше четырёх миллиардов, на всех их не хватает! В идеале, у каждого пользователя сети Интернет должен быть свой уникальный IP-адрес. А это не только компьютеры, но и телефоны, камеры слежения, телевизоры и даже холодильники с доступом в интернет! Вот и получается, что некоторые провайдеры интернета идут на некую «хитрость».

Они резервируют под себя один или несколько адресов, и все кто к нему подключён, выходят в сеть только под этими адресами. Чтобы было понятней, приведу пример. Допустим, у провайдера адрес «193.126.243.10», тогда у всех кто подключён к этому провайдеру будет такой же IP-адрес в интернете «193.126.243.10». При этом во внутренней (локальной) сети у каждого клиента будет свой собственный внутренний адрес, но в интернете — у всех общий. Это и есть серый IP-адрес, т.е. не уникальный.

У более-менее крупных провайдеров сеть разбита на несколько подсетей и таких общих адресов может быть много, но всё равно на каждом «сидит» много людей. Раньше, когда пользователей сети было не так много, за этим никто не следил, адресов на всех хватало, и у каждого был свой уникальный,  т.е. белый IP-адрес. Его ещё называют реальный IP-адрес. Если при этом он не меняется при каждом подключении к сети, то его также называют постоянный IP-адрес.

Теперь же за это нужно заплатить денюжку своему провайдеру. Пусть и немного, но всё-равно каждый месяц надо платить. А оно не всем надо, а тем кому надо, может быть об этом даже не догадываются  Посмотреть свой внешний IP-адрес можно с помощью специальных сервисов, например whoer.net

Под капотом гео-модуля

Несколько GEO IP баз на выбор

Всего существует 4,22 миллиарда IPv4 адресов. Они делятся между странами. Внутри стран между интернет-операторами. Последние в свою очередь распределяют их между городами присутствия. А потом перераспределяют по необходимости.

Существуют специальные реестры где зафиксировано это самое распределение. В рамках статьи мы будем называть их GeoIP-базами. Отличаются они частотой обновления, точностью и объемом дополнительных данных (названия городов на нескольких языках, почтовые индексы, названия интернет-операторов).

В модуле мы поддерживаем 3 обычные гео-базы:

  • MaxMind,
  • IpGeoBase

    ,

  • Sypex Geo

и одну “мета-базу”: MaxMind + IpGeoBase.

MaxMind определяется местоположение вплоть до городов по всему миру. Но обновляется редко (бесплатная версия раз в месяц). С другой стороны IpGeoBase хорошо работает только по РФ и Украине, зато обновляется каждый день.

“Мета-база” определяет местоположение сначала по IpGeoBase. Если страна определена как Россия или Украина, данные считаются самыми точными. Если страна другая — обращаемся к MaxMind.

Независимость от кодировок

Разные базы хранятся в разных кодировках (CP1251, UTF-8). И сайты могут быть в разных кодировках. Это было непросто, но мы реализовали корректную работу всех гео-баз для сайтов в обеих кодировках.

Высокая скорость работы

Почти со всеми гео-базам можно обращаться и через веб-сервисы, и локально (после скачивания).

Начинающие разработчики часто выбирают первый вариант. Оно и понятно, это проще и не нужно заботиться об обновлении баз. Но есть 2 ложки дегтя:

  • Зависнет веб-сервис — зависнет и сайт. Веб-сервис “умер” — сайт не открывается совсем.
  • Обращение к веб-сервисам это сетевой запрос. А это в свою очередь “самая долгая” операция в программировании (10-100% от времени формирования всей страницы).

Мы (ИНТЕРВОЛГА) видели много примеров, когда разработчики шли этим путем и получали кучу проблем со скоростью работы сайта.

Наш модуль работает исключительно с локальными гео-базами. Кроме того, мы реализовали кеширование запросов к этим базам. Как результат определение местоположения по IP практически не влияет на скорость работы сайта.

Автоматическое обновление гео-баз

Локальные гео-базы это надежно. Но их нужно обновлять. А никто про это не помнит.

Специально на этот случай мы реализовали автоматическое обновление этих самых баз: только нужных, только если они изменились, с частотой необходимой для конкретной базы, с последующим сбросом кеша гео-запросов.

На выбор есть несколько способов: на агентах (по умолчанию), на хитах и на CRON.

Связь с местоположениями Битрикса

Геобазы возвращают текстовое название страны и города. Но без привязки к логике работы сайта толку от этого – ноль.

Давайте подробнее рассмотрим, зачем вообще нужно определение положения пользователя:

  1. Показать наличие и/или стоимость доставки в конкретном городе в карточке товара.
  2. Выбрать город по умолчанию в форме заказа.
  3. Показать разные номера телефонов в шапке для Москвы, Санкт-Петербурга, Города X и телефон по умолчанию для всех остальных.

К сожалению, в программном коде вы узнаете только название города вашего посетителя. Например, “Волгоград”. Для одной из трех задач этого хватит.

Для двух других задач потребуется сопоставить текстовое название города из гео-базы с

местоположениями 1С-Битрикс

. А они древовидные, а названия городов с гео-базами не совпадают (“Волгоград” vs “г. Волгоград”)…

Мы реализовали такое сопоставление хитрым алгоритмом и считаем получившийся результат достаточно качественным.

Интеграция с новым API Битрикса для геолокации

С версии 17.0.9 главного модуля в БУС добавлены службы

геолокации

и мы реализовали интеграцию нашего модуля с этим новым API.

Виджеты и компоненты

В модуле есть 2 компонента:

  • Местоположение пользователя.

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

  • Автолокация.

    Кнопка при нажатии на которую происходит определение местоположения и перезагрузка страницы. Дополнительно в этом компоненте реализовано определение города на основе Яндекс.Карт (точнее, но работает только в браузере — не на сервере).

Подробнее об их использовании — ниже.

Дополнительные сведения о браузере

Помимо определения GEO IP мы встроили в наш модуль определение информации о браузере посетителя (операционная система, мобильность, язык и т.д.) на основе параметра браузера “User Agent”.

Эта информация нужна редко, но в паре проектов нам пригодилась.

Интерфейс проверки

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

Она позволяет быстро протестировать все доступные гео-базы на разных IP-адресах.

География российских IP-адресов IpGeoBase

При поддержке компании RU-CENTER стартовал новый проект «География российских IP-адресов IpGeoBase», разработанный командой Stat.nic.ru.

Цель проекта — создать общедоступный ресурс географической привязки российских IP-адресов. Кроме того, создается общедоступная бесплатная база данных такой географической привязки, которую мог бы использовать для географического таргетинга любой вебмастер на любом сайте как в Рунете, так и за его пределами.

Проект создан на основе данных RIPE DB. Обновления происходят ежедневно синхронно с обновлениями RIPE DB. В данный момент реализовано два режима поиска: простой, быстрый поиск для любого IP-адреса и расширенный поиск.

Простой поиск при вводе российских IP показывает населенный пункт, регион, округ, блок адресов; при вводе зарубежных адресов система выдает сообщение о том, что IP не является российским. Расширенный поиск — это альтернатива простого поиска: можно производить поиск по населенному пункту, региону, округу, а не по IP-адресу; можно уточнять поиск по имени организации, которая управляет блоком IP-адресов (имя выбирается из списка).

Базу данных можно скачать и использовать автономно абсолютно бесплатно. В качестве примера использования базы данных предоставляется скрипт, написанный на языке PERL.

В ближайшее время на сайте будет запущен блог, в котором каждый пользователь сможет высказать свое мнение о проекте, поделиться своим видением развития этого проекта.

Однокомпонентные и двухкомпонентные клеи

Однокомпонентный состав

Клей выпускается в таре небольшого объема — наличие отвердителя прямо в составе клея позволяет добиться его застывания в процессе работы. Именно поэтому его не рекомендуется использовать при значительных объемах работы, однако склеивание мелких трещин и герметизация швов однокомпонентному клею «по плечу».

Двухкомпонентные клеи

Упаковка содержит 2 емкости: в одной имеется однокомпонентная смесь, в другой отвердитель. Перед тем, как начать работать, необходимо смешать смеси используя при этом инструкцию. Отличительным преимуществом двухкомпонентных смесей является возможность смешивания в процессе работ.

Часто задаваемые вопросы: законность и бесплатные VPN для России

Законно ли использовать VPN в России?

Да. Нет законов, запрещающих отдельным лицам использовать VPN во время пребывания в России.

Однако есть законы, запрещающие VPN-сервисам работать в этой стране. 1 ноября 2017 года Владимир Путин подписал закон, запрещающий в России работу сайтов и программного обеспечения, связанного с обходом интернет-фильтрации. VPN-сервисам, которые не блокируют сайты в соответствии с указаниями правительства, запрещено работать в стране.

Это значит, что вам может быть сложно получить доступ к VPN из России, но вы можете ее использовать. Рекомендую скачать надежную и безопасную VPN вроде Surfshark перед въездом в страну.

Можно ли использовать бесплатную VPN для получения российского IP-адреса?

Технически — да, но я бы не рекомендовал использовать бесплатную VPN в стране со строгим интернет-надзором вроде России. Хотя хорошие бесплатные VPN существуют, многие бесплатные VPN пренебрегают мерами безопасности, сохраняя данные пользователей, которые впоследствии могут быть переданы российскому правительству по его запросу. Другие бесплатные VPN генерируют прибыль, продавая информацию о пользователях третьим сторонам или собирая информацию о местоположении пользователей с целью показа таргетированной рекламы.

Из-за ограниченных ресурсов большинство бесплатных VPN либо не позволяют вам выбирать серверную локацию, либо предоставляют на выбор лишь несколько стран, а значит, с бесплатной VPN вероятность получения российского IP-адреса очень мала. Не рискуйте, скачивая бесплатную VPN: оказавшись в России, вы можете обнаружить, что у сервиса нет серверов в этой стране, а вы уже не можете скачать другую VPN.

Со многими бесплатными VPN вы также не сможете смотреть любимые передачи. Небольшое количество предлагаемых на выбор серверов может становится причиной низких скоростей, из-за чего может быть сложно устанавливать подключение в часы пик.

Рекомендую использовать платный VPN-сервис вроде Surfshark, который обеспечивает высокие скорости без каких-либо прерываний, защищает ваши данные от глаз правительства и блокирует рекламу, когда вы просматриваете сайты.

IPv4 — это надолго

Когда мы говорим о геолокации IP, мы в первую очередь рассматриваем адресное пространство IPv4, так как большая часть нашего веб-трафика все еще идет с адресов IPv4.

IPv6 был создан, чтобы решить глобальную нехватку адресного пространства IPv4, предоставив колоссальное расширение аж на 2128 адресов. Однако этого не произошло, хотя с момента его введения прошло два десятилетия.

Есть много причин, по которым IPv6 не используется повсеместно. Основная причина, наверное, самая удивительная —

Конечно, в какой-то мере нехватка IPv4-адресов существует, так как получить их бесплатно сейчас практически невозможно, даже если это жизненно важно для вашего бизнеса. По этой причине IPv4 стал товаром, даже дорогим товаром и таковым останется

Как это возможно, спросите вы? На IPv4 доступно лишь ограниченное количество 232 или примерно 4,3 миллиарда адресов, так как же они могут вместить более 7 миллиардов желающих выйти в интернет людей и поддержать огромное расширение в сфере IoT?

Удивительно, но это возможно!

Во-первых, несмотря на теоретический максимум в 4 294 967 296 адресов IPv4, не все они выделены для публичного использования в Интернете.

И затем, как вы думаете, сколько из них активно используется?

Примечательно, что в настоящее время существует всего 2,9 миллиарда общедоступных адресов IPv4, обслуживающих весь наш Интернет! Посетите наш онлайн мониторинг адресного пространства IpV4, чтобы узнать последние данные.

И это в то время как в мире:

  • более 4,5 миллиардов пользователей домашнего интернета

  • более 300 миллионов активных сайтов

  • более 3,5 миллиардов пользователей смартфонов

  • более 7 миллиардов устройств IoT, и это число растет

  • миллионы общедоступных IP-адресов, используемых глобальной сетевой инфраструктурой

Что такое IP и откуда он берется

IP-адрес (Internet Protocol Address) – это уникальный адрес в определенной сети на базе стека протоколов TCP/IP. Он идентифицирует устройство: ваш домашний компьютер, смартфон или другой узел. 

IP-адреса нужен, чтобы информация, отправленная вашему устройству, пришла именно ему, а не другому гаджету в сети. IP может быть статическими и динамическими. 

Статический адрес выдается на какое-то более-менее длительное время (и за это провайдер обычно берет дополнительные деньги). Его можно прописать вручную в настройках или получить у провайдера (в зависимости от правил сети). Когда вы платите за статический IP, вы фактически покупаете гарантию того, что никто другой в сети этот адрес использовать не будет. 

Динамические адреса маршрутизатор автоматически раздает из доступного ему диапазона. Вы можете получать новый динамический IP каждый раз, когда входите в сеть или перезагружаете маршрутизатор. Через определенное время сеть может сбросить ваш динамический IP и выдать новый адрес. 

Сейчас используется два стандарта IP – IPv4 и более новый IPv6. Первый состоит из 4 байт (32 бит) – 4 чисел от 0 до 255 (для удобства их разделяют точками). К примеру, это 127.0.0.1 – localhost, адрес, по которому устройство может обратиться к себе самому. 

До определенного момента это работало. Но однажды 4 байт перестало хватать, чтобы каждое подключаемое к интернету устройство имело уникальный адрес. Пришлось извращаться: вводить маски подсети и т.п. 

В IPv6 каждый адрес состоит из 16 байт (128 бит). Записывают его в 16-ричном формате, разделяя двоеточиями каждые два байта. Пример: 2002:01А8:AВ10:0001:0000:0000:0000:00FB. Если в адресе несколько нулевых групп идут подряд, их пропускают, оставляя ::. 

Обычно устройства подключаются к нескольким сетям – например, к интернету и к домашней локальной сети через маршрутизатор. Для каждой сети будет свой IP. 

Мы в данном случае будем говорить о внешних IP – адресах в интернете. И предполагая, что анонимайзер, прокси, VPN и т.д. не используются. 

Статические IP-адреса

Правильно определить геолокацию статического IP-адреса проще всего.

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

Как не назови, это всегда данные подтверждающие или намекающие на использование IP-адреса в той или иной местности. К сожалению, не все данные могут быть верны, например из за ошибки в работе GPS. Качество сервиса IP-геолокации всегда зависит от того, к каким данным они имеют доступ и как они их обрабатывают.

Поэтому, когда у нас есть свежее, действительное и очень точное географическое местоположение статического IP-адреса, используемого стационарным устройством, результирующая точность IP-геолокации может быть пугающе точной — часто на расстоянии до нескольких метров.

Вот почему BigDataCloud намеренно слегка корректирует предоставленные координаты местоположения, округляя их до ближайшего километра — по сути, ограничивая максимальную точность до одного квадратного километра.

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

Как мы выбирали справочник IP-адресов

  1. Стоимость.
  2. Частота обновлений.
  3. Количество диапазонов IP-адресов для России.
  4. Количество адресов «на местности», или полнота. Чтобы измерить полноту, мы прогнали все адреса из каждого справочника через API cтандартизации «Дадаты». Сервис привел адреса к одному формату и разобрал по типам: регион, район, город. Эти стандартизованные адреса мы и посчитали.
  5. Формат: насколько справочник удобно использовать.
  6. Библиотеки и интеграции с популярными фреймворками.
  7. Что можно вытащить из базы помимо города.
  8. Чей Крым (политика политикой, а бизнесу работать надо).
  9. Детализация по населенным пунктам. Чтобы узнать ее, мы прогнали 35000 рандомных уникальных IP-адресов через каждый справочник. Потом сравнили, сколько уникальных городов разрезолвил каждый справочник.
  • IPGeoBase,
  • SypexGEO,
  • MaxMind Lite,
  • ip2ruscity.

Список всех 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{2}-{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

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

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

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

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

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

и там этого ещё шесть экранов вниз…

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

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

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

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

Как VPN предоставляет российский IP-адрес

VPN создает безопасный туннель между вашим устройством и Интернетом. Все данные, которые вы отправляете через Интернет, остаются в этом туннеле. Сайты, шпионы и хакеры находятся вне этого туннеля. Это значит, что они не могут видеть, что вы делаете или где вы находитесь

Благодаря этому третьи стороны не могут отслеживать вашу онлайн-активность и ваши действия в Интернете остаются анонимными, что особенно важно в странах со строгими ограничениями вроде России

Ваш IP-адрес показывает физическое местонахождение вашего устройства. Когда вы подключаетесь к VPN-серверу, он заменяет ваш настоящий IP-адрес другим. Когда вы подключаетесь к серверу в России, вы получаете российский IP-адрес. Это позволяет вам обходить блокировки доступа по географическому признаку и получать доступ к блокируемому контенту.

Отслеживание IP-адреса

Отслеживание IP-адреса в блоге

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

Отслеживание IP-адреса в Gmail

Если человек которого вы хотите выследить использует сервис Gmail, то вы, вероятно, найдёте эту задачу лёгкой и будете наслаждаться своим поиском. Всё, что вам нужно сделать, это войти в свой аккаунт и открыть сообщение, которое вы хотите исследовать. Вам нужно добраться до места, где отображаются дата и время сообщения. Справа от кнопки “Ответить ” находится стрелка. Нажмите на стрелку и выберите “Показать оригинал” из выпадающего меню. На экране откроется новая вкладка с информацией об отправителе и сообщением в формате HTML. Найдите строку, начинающуюся с “Received: from”, в первых десяти строках текста. В конце этой строки, Вы заметите номер в скобках, который является IP-адресом отправителя.

Трассировка IP-адреса в других почтовых программах

Так же, как и в Gmail, другие почтовые программы следуют той же процедуре для поиска IP-адреса отправителя, хотя и с незначительными различиями в некоторых программах. Скажем, например, в Yahoo, откройте сообщение, которое вы хотите отслеживать и перейдите к крайней правой нижней части сообщения, которое читается как “Выбрать кодировку сообщения” в выпадающим меню. Рядом с этим находится ссылка “Полные заголовки”. Нажмите на ссылку, и вы сможете просмотреть полный заголовок, отображающий ” X-Origining-IP”, показывающий IP-адрес отправителя. Для Hotmail откройте свою учетную запись и установите флажок для расшифровки сообщения. Щёлкните правой кнопкой мыши на поле и выберите ”Просмотр источника сообщений” из всплывающего меню. Аналогично в Gmail, найдите строку” Received: from”, и вы найдете IP-адрес отправителя в конце строки в скобках.

Трассировка при наличии нескольких IP-адресов

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

Теперь, когда вы знаете, как отследить чей-либо IP-адрес, вы можете поймать этого человека с поличным и остановить любые сообщения от получения дальше. Удачи!

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий