Как узнать местоположение сервера

Узнать местоположение IP-адреса

Информация о местоположении IP-адреса

Расположение IP-адреса на карте

Геолокация по IP-адресу

Поскольку все IP-адреса в Интернете уникальны, а каждый владелец и провайдер официально зарегистрирован, должно быть возможно определять географическое расположение любого ПК или сервера просто по его IP-адресу, по крайней мере в теории. Одна из проблем заключается в том, что диапазоны IP-адресов администрируются несколькими сотнями региональных учреждений, и было бы не очень практично запрашивать в каждом из них напрямую. К счастью, некоторые компании специализируются на сборе информации о диапазоне IP-адресов со всего мира. Они продают эту информацию в виде консолидированных баз данных, которые легко интегрируются в любой веб-сервер с целью быстрого поиска информации о стране, регионе, городе или интернет-провайдере. Точность этих баз данных колеблется от 80 до 99,8%, согласно их собственным утверждениям.

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

IP2GeoLocation.com веб-сервис IP-геолокации обеспечивает поиск IP-адреса в базе геолокации и возвращает информацию о местоположении, такую как: континент, код страны, название страны, регион или штат, город, широта и долгота, почтовый индекс, часовой пояс, интернет-провайдер или название компании и так далее. Для поиска отправьте запрос в строку сервиса, и вы получите географическое расположение IP-адреса в течении нескольких секунд. Индекс результатов поиска включает в себя более 4 миллиардов уникальных IP-адресов.

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

Источник

Как вычислить (город пользователя) по IP

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

Местоположение — это важно.

Как узнать местоположение сервера. Смотреть фото Как узнать местоположение сервера. Смотреть картинку Как узнать местоположение сервера. Картинка про Как узнать местоположение сервера. Фото Как узнать местоположение сервера

Какие бывают способы геолокации

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

Взять IP-адрес пользователя и по специальному справочнику найти город со страной.

Как узнать местоположение сервера. Смотреть фото Как узнать местоположение сервера. Смотреть картинку Как узнать местоположение сервера. Картинка про Как узнать местоположение сервера. Фото Как узнать местоположение сервера

Узнать местонахождение через HTML5 Geolocation API.

Как узнать местоположение сервера. Смотреть фото Как узнать местоположение сервера. Смотреть картинку Как узнать местоположение сервера. Картинка про Как узнать местоположение сервера. Фото Как узнать местоположение сервера

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

Город лучше определять по IP: способ всегда работает и не тревожит пользователя. А в геолокации по IP главное — найти справочник, который удобно подключается и без ошибок выдает город. Вторая часть статьи — об этом.

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

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

Поэтому мы сравнивали справочники по таким критериям:

IPGeoBase

Обновления. Каждый день.

Пулы IP-адресов в России. 43751 пул, это первое место.

Полнота. 728 объектов:

Формат базы. Tab-separated текстовые файлы. В одном файле города с ID, в другом — залинкованные на них диапазоны IP.

Как узнать местоположение сервера. Смотреть фото Как узнать местоположение сервера. Смотреть картинку Как узнать местоположение сервера. Картинка про Как узнать местоположение сервера. Фото Как узнать местоположение сервера

Кодировка в файлах — боль под названием Windows-1251. Хорошо, что есть iconv — легким движением руки мы получили UTF-8:

База медленная (еще бы, это текстовый файл) — обход 35000 адресов занял несколько минут.

Библиотеки. Есть готовые под Perl, Ruby и Python, но самая новая — от 2013 года. За 4 года Трамп стал президентом США, вышел PHP 7, появился миллион JS-фреймворков, но ни одну из библиотек под этот справочник так и не обновили.

Чтобы портировать библиотеку под Python 3, понадобился час.

Что можно вытащить из базы.

Детализация. На выборке в 35000 адресов нашлось 372 разных населенных пункта.

Это третье место с небольшим отставанием от второго.

Минусы — библиотеки очаковских времен, да и текстовый файл — не самое удобное решение для доступа к данным.

Повидавший жизнь, но до сих пор летающий Ту-154.

Как узнать местоположение сервера. Смотреть фото Как узнать местоположение сервера. Смотреть картинку Как узнать местоположение сервера. Картинка про Как узнать местоположение сервера. Фото Как узнать местоположение сервера

SypexGEO

Стоимость. Бесплатный, распространяется по BSD-лицензии.

Обновления. Пару раз в месяц.

Пулы IP-адресов в России. Всего диапазонов 1696337, но неясно, сколько из них относятся к России: данные закопаны в справочнике. По этому параметру место не присудить.

Полнота. 832 объекта:

Как работать со справочником, если не через библиотеку — неясно. Для любопытных есть спецификация на сайте справочника.

Скорость хорошая: обход 35000 адресов занял несколько секунд.

Библиотеки. Есть для Python, PHP Yii, PHP Laravel, Java, Ruby. Обновлялись 2-3 года назад. Еще есть интеграция с Symfony и плагин для WordPress.

Что можно вытащить из базы:

Детализация. На выборке в 35000 адресов нашлось 400 разных населенных пунктов.

Вердикт. Очень подкупает скоростью, смещения — сила. Авторы говорят, что специально оптимизировали базу для высоких нагрузок.

По наполнению и точности похожа на IPGeoBase — здесь чуть больше объектов, 10% адресов резолвятся по-другому.

База полностью открыта.

К сожалению, не резолвит Крым в Россию.

Вертолет Black Hawk — классно летает, но не всем подойдет.

Как узнать местоположение сервера. Смотреть фото Как узнать местоположение сервера. Смотреть картинку Как узнать местоположение сервера. Картинка про Как узнать местоположение сервера. Фото Как узнать местоположение сервера

MaxMind Lite

Обновления. Первый вторник каждого месяца (прям как паспортный стол).

Пулы IP-адресов в России. 91432. Если убрать IP-адреса, которые резолвятся в Россию без города, — 42822. Это второе место.

Полнота. 1392 объекта:

У базы есть версии с разной точностью: до страны, до города, а также справочник ASN (уникальных номеров интернет-провайдеров). Есть также база для IPv6-адресов.

Библиотеки. Здесь полный порядок — на «Гитхабе» лежит несколько десятков библиотек для работы с базой.

Что можно вытащить из базы. Выдача суперподробная и мультиязычная. MaxMind отдает интересный параметр accuracy_radius — точность радиуса координат в километрах.

Детализация. На выборке в 35000 адресов справочник нашел 749 адресных объектов.

В 50% случаев результаты расходятся с предыдущими двумя базами — точность и детализация у MaxMind Lite выше.

Но есть принципиальные минусы — частота обновлений и Крым.

Навороченный космический корабль, который обновляется раз в месяц и не считает Крым российским.

Как узнать местоположение сервера. Смотреть фото Как узнать местоположение сервера. Смотреть картинку Как узнать местоположение сервера. Картинка про Как узнать местоположение сервера. Фото Как узнать местоположение сервера

ip2ruscity

Стоимость. Платный, стоит 5000 рублей в год.

Обновления. Раз в месяц.

Пулы IP-адресов в России. 34907 пул, третье место.

Полнота. 486 объектов:

Формат базы. Tab-separated текстовые файлы либо SQL-файлы. В них — города, регионы, диапазоны IP-адресов. Есть еще телефонные коды городов, но почему-то они доступны только в MySQL-формате. В общем, как в программе партии «Неуверенная Россия» — будет средне (не прямо круто, так, нормально).

Начало и конец диапазонов IP-адресов для экономии места завернуты в uint-формат. Их придется самостоятельно привести к виду IP-адресов.

Как узнать местоположение сервера. Смотреть фото Как узнать местоположение сервера. Смотреть картинку Как узнать местоположение сервера. Картинка про Как узнать местоположение сервера. Фото Как узнать местоположение сервера

Не особо удобно, но жить можно. На Python делается просто:

Библиотеки. Не нашлось ни одной :(. Пришлось накостылить свой авангардный биндинг для исследования, код публиковать не буду.

У сервиса недавно появилось API. Через него отдают:

Что можно вытащить из базы.

Если использовать MySQL-формат базы, возвращается еще телефонный код города.

Детализация. На выборке в 35000 адресов нашлось 273 населенных пункта. Это последнее место.

Вердикт. Вроде и недорого, но за деньги могло быть и получше.

Винтовой ATR-72 авиакомпании Air Serbia.

Как узнать местоположение сервера. Смотреть фото Как узнать местоположение сервера. Смотреть картинку Как узнать местоположение сервера. Картинка про Как узнать местоположение сервера. Фото Как узнать местоположение сервера

Подводя итоги (как первый канал)

Бесплатная MaxMind Lite практически по всем параметрам быстрее, выше и сильнее остальных. Тем не менее, у нее 2 важных минуса — обновляется всего раз в месяц и не считает Крым российским.

Мы в «Дадате» не спали ночами и думали, какой справочник выбрать для своего API геолокации. В итоге взяли за основу IPGeoBase и навернули сверху всяких плюсов.

По сравнению с «голым» IPGeoBase «Дадата» удобнее.

Обновляется автоматически. Сервис обновляет справочник по мере выхода новой версии, вспоминать об этом не придется.

Библиотеки не нужны. Справочник доступен по API, к нему подключится любая HTTP-библиотека. Запрос очень простой: отправляешь только IP-адрес и токен, который дают при регистрации на DaData.ru.

Сервис отдает куда больше данных, чем «голый» справочник. Помимо названия найденного объекта это:

Мы превратили рабочий, но некрашеный Ту-154 в Airbus А-380.

В экономе возим бесплатно — к API можно сделать 10000 запросов в сутки, просто зарегистрировавшись. Если нужно больше, это будет стоить от 4000 рублей в год.

Источник

Я иду искать: геопозиционирование хоста по IP-адресу в глобальной сети Интернет на примере криптобиржи Binance

Как узнать местоположение сервера. Смотреть фото Как узнать местоположение сервера. Смотреть картинку Как узнать местоположение сервера. Картинка про Как узнать местоположение сервера. Фото Как узнать местоположение сервера

В статье рассмотрены методы геопозиционирования сетевых интерфейсов по IP-адресу на примере API-сервиса криптобиржи Binance. Геопозиционирование основано на дистанционно-временных моделях пересчета времени кругового обхода (RTT) в дистанцию и определения примерного местоположения сетевого интерфейса.

Современным электронным сервисам очень важно знать о географическом местоположении клиентов для «тонких» настроек своих маркетинговых процессов. Повсеместно используются разные техники геопозиционирования пользователей, основанные на привязке к базовым станциям мобильной связи и точкам доступа Wi-Fi. Однако существует целый ряд других задач, для решения которых необходимо знать геопозицию не самого пользователя, а сервера и его сетевого интерфейса. Такие сервисы, как MaxMind (безусловный отраслевой лидер), широко известны публике (можно также почитать здесь), но в целом в сети мало материала в открытом доступе, посвященного технологическим вопросам глобального геопозиционирования хоста по его IP-адресу. В этой статье мы расскажем о некоторых решениях в этой предметной области и поделимся результатами наших исследований.

За подробностями следуйте под кат.

Зачем знать геопозицию сервера?

Рассмотрим реальный случай: арбитражные алгоритмы биржевой торговли анализируют ситуации, когда на одной бирже цена товара уже изменилась, а на другой еще нет. Если вы поймали этот момент различия цен, то на одной бирже вы можете этот товар купить, а на другой продать в том же количестве. Таким образом, в вашем кармане отложатся деньги от такой спекуляции. Например, между площадками Binance и Bitfinex разница в котировках Bitcoin (BTC) иногда позволяет получить прибыль на арбитражных сделках. Наблюдения показывают, что такие условия в котировках BTC на указанных площадках складываются несколько раз в день и длятся примерно от одной до двадцати секунд. Биржевому боту крайне важно жить на сервере, ближайшем и равноудаленном от биржевых дата-центров для получения конкурентного преимущества по времени доступа к ним обоим. Знание геопозиции интерфейсов биржевых сервисов поможет выбрать оптимальный хостинг для бижевого бота.

Пентестерам (как и злоумышленникам) тоже нужно знать о географическом расположении банковских (и не только) сервисов для оценки возможности получения физического доступа к вычислительной инфраструктуре целевой организации. Напомним, что проникновение квалифицированного злоумышленника в ЦОД, где развернуты критичные корпоративные сервисы, может привести к необратимым последствиям. Нам известны случаи размещения конфиденциальных данных, что называется, где попало.

Перечисленные случаи – это только вершина айсберга в вопросах поиска географического расположения хостов в сети Интернет.

Как это делается

Информация о геопозиции хоста собирается из различных открытых источников, например из ресурсных записей DNS и результатов прямых измерений. Начало работ в этом направлении описано в статье, опубликованной в 2001 году. Основой измерительных технологий стал метод Constraint-based geolocation (CBG), заключающийся в измерении времени кругового обхода (RTT) при выполнении запроса echo-request ICMP от нескольких хостов с известной геопозицией (или landmarks в оригинале) к хосту с измеряемой геопозицией. При различных допущениях, таких как равенство по времени пути пакета в обе стороны и скорость распространения сигнала в волоконном волноводе как 2/3 от скорости света в вакууме, можно пересчитать половину времени RTT в дистанцию и тем самым ограничить географическую область достижения ICMP-пакета некоторой окружностью с landmark-хостом в центре. Выполняя подобные измерения из нескольких распределенных по миру landmark-точек, получается столько же ограниченных областей. Их пересечение указывает на примерную геопозицию искомого хоста с точностью примерно до 100 км. Сущность метода CBG можно представить так:

Как узнать местоположение сервера. Смотреть фото Как узнать местоположение сервера. Смотреть картинку Как узнать местоположение сервера. Картинка про Как узнать местоположение сервера. Фото Как узнать местоположение сервера

Определение геопозиции хоста по методу CBG

Допущения в дистанционно-временной модели классического CBG достаточно грубы, что побудило исследователей к ее усовершенствованию. В результате «тонкого» тюнинга исследователями вносились изменения в эту модель. Например, некоторые исследователи предложили отбраковывать часть измерений RTT, а другие – рассматривать landmark-хосты как области, а не как географические точки. Эволюция CBG определила развитие и других методов геопозиционирования хостов по IP-адресу: Shortest ping, Topology-based geolocation (TBG), Octant, Street-level geolocation (SLG). В некоторых случаях удается достичь точности геопозиционирования хоста до здания, где он размещен (обычно ЦОД). Чтобы не перегружать текст, не станем упоминать про стохастические методы геопозиционирования, основанные на анализе распределения величины RTT. Только сама классификация известных методов может быть темой отдельного исследования. Как можно заметить, в настоящее время область геопозиционирования хостов по IP-адресу по-прежнему остается в поле актуальных научных исследований.

Умело применяя результаты научных исследований в этой предметной области и располагая собственным множеством landmark-хостов по всему миру, компания MaxMind прочно обосновалась в качестве лидера на рынке геопозиционирования. Серверы компании постоянно сканируют IP-адресное пространство с разрешением до префикса шириной /24 (IPv4) и формируют базу данных его географического распределения. Сотрудничество с RIPE NCC еще больше укрепило позицию компании на рынке. К собственным средствам измерения адресного пространства добавилась сеть зондов системы Atlas – масштабной измерительной сети RIPE NCC, состоящей из более чем 10 000 географически распределенных хостов (по состоянию на начало 2020 года) с точной привязкой к местности. Итогом деятельности компании на сегодняшний день является полноценное соответствие адресного пространства интернет-географии планеты с высокой точностью.

А что у нас?

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

Тем не менее мы разработали и исследовали ряд дистанционно-временных моделей для геопозиционирования сетевых интерфейсов Рунета. Для их исследования нами были использованы 42 VPS-хоста в определенных дата-центрах на территории РФ, множество веб-ресурсов с известным географическим размещением, позволяющих в режиме онлайн выполнять запросы ICMP echo request, возможности глобальной измерительной сети RIPE.Atlas, а также ресурсные записи DNS. Целью исследований являлось определение точности геопозиционирования, достижимой при использовании предложенных нами линейных и статистических моделей. Точность получилась несколько выше, чем при использовании классического метода constraint-based и соизмерима с его известными модификациями.

Для исследования стохастических моделей мы использовали в качестве объекта несколько клиентских интерфейсов московской точки обмена трафиком MSK-IX. Выбору способствовала превосходная информационная поддержка оператора на своих информационных ресурсах (сервис looking glass, система ресурсных записей DNS, записи в регистратурах маршрутизации, полный список адресов ЦОД и др.). Исследования подтвердили возможность определения геопозиции клиентского интерфейса с точностью до здания ЦОД.

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

Геопозиция серверов криптобиржи Binance

Упомянутая вначале статьи криптобиржа Binance основана в 2017 году, а в 2019 году закрепила за собой статус ведущей торговой криптобиржи мира с долей рынка более 53 %. Трейдеров и хакеров вполне обоснованно беспокоит вопрос о месте расположения серверов биржи. Некоторые предполагают, что они размещены в Корее, а кто-то настаивает, что в Токио (не будем перегружать текст ссылками на многочисленные обсуждения этого вопроса в сети). Биржа умалчивает о месте размещения своих серверов по соображениям безопасности. Мы попробовали внести ясность в этот вопрос с помощью использования дистанционно-временных моделей. Сразу заметим, что мы не будем приводить точные результаты нашего исследования.

Шаг 1. Для автоматической торговли Binance предлагает API-службу на домене api.binance.com. Возьмем его за отправную точку анализа. Разрешение этого домена в DNS хостами в разных странах дает следующий результат:

Страна (национальный домен)DNS-разрешение для домена api.binance.com
ZA (ЮАР)143.204.17.150, 99.86.226.172, 143.204.57.198
IN (Индия)13.227.140.169, 13.35.134.176, 13.32.35.177, 54.182.7.113, 13.33.169.165, 99.86.31.175
GB (Великобритания)13.35.244.184, 13.33.51.166, 13.224.242.171, 143.204.197.178, 52.84.143.112
CN (Китай)69.63.178.13, 31.13.81.17, 69.171.235.64, 13.226.125.168, 13.224.196.172, 74.86.151.162, 13.224.153.172
KR (Южная Корея)54.192.70.140, 52.85.195.217, 99.86.177.172, 13.226.125.168, 13.225.20.170
JP (Япония)13.35.100.178, 13.225.179.170, 13.33.11.37
US (США)99.84.240.113, 216.137.45.112, 99.84.125.184, 13.249.117.184, 99.84.169.185, 52.85.83.113, 13.226.15.171, 13.224.213.171, 13.225.57.171

Очевидно, что для обеспечения доступа и защиты сервисов Binance используется CDN-облако (content distribution network). Это Amazon, как вы увидите далее. Разрешение домена в различные адреса CDN-шлюзов выполняется непосредственно Name-сервером Amazon посредством использования ресурсной записи типа CNAME d3h36i1mno13q3.cloudfront.net в публичной DNS. В таблице представлена только часть информации, DNS-разрешение выполнялось из 25 стран на всех континентах. Как можно видеть из результатов, все IP-адреса принадлежат адресному пространству AS16509 AMAZON 02. Все полученные IP-адреса имеют PTR-записи, в которых содержатся географические аббревиатуры точек доступа Amazon:

server-143-204-17-150.jnb50.r.cloudfront.netЙоханнесбург, ЮАР
server-13-227-140-169.bom50.r.cloudfront.netБомбей, Индия
server-13-35-100-178.lax3.r.cloudfront.netГде-то в Японии
server-99-84-240-113.ord50.r.cloudfront.netГде-то в США

Полученное множество облачных IP-адресов соответствует зонам доступа службы Amazon AWS.

Серверы Binance логически могут быть размещены относительно CDN-облака двумя возможными вариантами: или они развернуты непосредственно на облачных вычислительных ресурсах (что маловероятно, принимая во внимание историю развития биржи), или в некотором собственном/арендованном дата-центре, доступ к вычислительным ресурсам которого проксирует Amazon. В последнем случае можно ожидать возможность доступа к API-сервису Binance посредством обращения к IP-адресу его настоящего сетевого интерфейса, который не засвечен в публичном DNS. Запрос к базам данных RIPE NCC в надежде найти собственное адресное пространство биржи не вернул объектов с вхождением строки «Binance» в описателях объектов маршрутизации – не повезло.

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

Выводы по шагу 1:

Шаг 2. Попытаемся определить приблизительное географическое размещение интерфейса API-сервиса Binance. К сожалению, его реальный IP-адрес неизвестен. Это делает невозможным применение основанных на прямом измерении RTT методов геопозиционирования. Для этого случая используем метод облачного зондирования, разработанный нами. В чем его суть поясним далее.

Особенностью работы CDN является возможность обращения внешнего пользователя с HTTP(S)-запросом к любому облачному шлюзу в мире. Если измерить время выполнения API-запроса при обращении на конкретный CDN-шлюз и вычесть из него RTT выполнения запроса echo-request ICMP к адресу этого шлюза, то получим оценку времени RTT на участке от CDN-шлюза до сетевого интерфейса API-сервиса Binance:

Как узнать местоположение сервера. Смотреть фото Как узнать местоположение сервера. Смотреть картинку Как узнать местоположение сервера. Картинка про Как узнать местоположение сервера. Фото Как узнать местоположение сервера

Принцип облачного зондирования

Полученные таким образом значения времени требуют некоторой статистической обработки. Выполняя измерения для каждого CND-шлюза, выявим тот CND-шлюз, который ближе всего находится к истинному сетевому интерфейсу API-сервиса Binance. Метод облачного зондирования, по сути, близок к Shortest ping и имеет аналогичные ему погрешности при местоопределении.

Применение метода облачного зондирования позволило определить локацию искомого API-интерфейса с точностью до 400 км. Страна размещения дата-центра Binance и города-кандидаты определились. Криптобиржа Binance не зря скрывает геопозицию своего API-сервиса. Мы тоже считаем корректным умолчать об этом.

Шаг 3. Поиск адреса истинного интерфейса API-сервиса Binance

На этом этапе нам известно немного больше. Главная информация – географическая область, определенная на предыдущем шаге. Теперь нужно выделить область адресного пространства IP, обслуживающую известную территорию, в надежде, что ее анализ позволит определить истинный адрес интерфейса API-сервиса Binance. Диапазоны адресов IP для некоторой территории выделить довольно просто. Мы воспользовались базой геоданных MaxMind в формате CSV и выбрали из нее все подсети, позиционирование которых в полях Latitude, Longitude и Accuracy_radius пересекается с искомой геозоной. Кроме этого, полученное множество IP-адресов мы расширили до границ префиксов, реально анонсируемых в BGP. Данные BGP-анонсов мы получили с использованием RIPEstat Data API.

Напомним, что европейский регистратор верхнего уровня RIPE NCC организовал глобальный сбор данных протокола BGP в крупнейших мировых точках обмена трафиком (IX-Internet Exchange), которыми могут воспользоваться все желающие. Файлы с пакетами BGP появляются в свободном доступе с интервалом 5 минут. Благодаря этому у исследователей по всему миру есть возможность анализа инцидентов, связанных с нарушениями глобальной связности сети Интернет не только почти в реальном времени, но и в ретроспективе.

Полученная область адресного пространства IP, соответствующая искомой геозоне, получилась не очень большой: всего 1 130 496 адресов IPv4. Теперь необходимо выполнить следующие действия:

Имея адрес интерфейса API-службы Binance, можно немного изучить хостинг-оператора, который «приютил» биржу. Мы получили сведения о его аплинках и прочитали кое-что в открытых источниках о его дата-центрах, выполнили различные трассировки. Мы считаем опасным публиковать точные результаты наших исследований. Пусть криптобиржа Binance останется под защитой облака Amazon.

Шаг 4. Точное геопозиционирование API-сервиса Binance

Теперь осталось совсем немного: применить разработанные нами техники геопозиционирования, которые упоминаются в начале статьи. Для этого необходимо измерить RTT к искомому сетевому интерфейсу при разных условиях из разных точно известных локаций. Здесь нам немного не повезло. Исследуемый сетевой интерфейс, как оказалось, не отвечает на запрос ICMP echo-request. Стучаться можно только в HTTPS. Это сильно ограничило (до нуля) число хостов с точной локацией, которые могут что-то измерить таким способом. Поэтому пришлось исследовать другой ближайший интерфейс, замеченный в трассировках к искомому интерфейсу. Измерения показали географическую локацию с точностью около 50 км. Принимая во внимание дополнительные задержки от найденного интерфейса к API-сервису, следует считать, что интерфейс API-сервиса размещен в той же точке с точностью до 80 км.

Заключение

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

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

Как узнать местоположение сервера. Смотреть фото Как узнать местоположение сервера. Смотреть картинку Как узнать местоположение сервера. Картинка про Как узнать местоположение сервера. Фото Как узнать местоположение сервера
Raccoon Security – специальная команда экспертов НТЦ «Вулкан» в области практической информационной безопасности, криптографии, схемотехники, обратной разработки и создания низкоуровневого программного обеспечения.

Источник

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

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