Какие методы используются сервисами GeoIP, кроме информации WHOIS?

833
Learner

Мне было просто интересно, как сервисы GeoIP собирают данные о географическом местоположении IP-адресов, помимо проверки информации WHOIS IP-адреса. Например, я наткнулся на этот веб-сайт, который говорит, что IP 74.207.244.221 находится во Фримонте, Калифорния: https://ipinfo.io/74.207.244.221.

Но я не могу найти эту информацию на этом IP Whois информации. ipinfo.io заявляет, что:

Первоначально наш API использовал данные MaxMind, но мы были очень заняты созданием наших собственных данных геолокации. Мы добились большого прогресса, и теперь мы используем наши собственные данные для обслуживания примерно половины всех запросов. Мы все еще откат к данным MaxMind, хотя

И это меня заинтересовало, как сервисы, такие как ipinfo.io и MaxMind, собирают данные GeoIP?

11

2 ответа на вопрос

11
Fanatique

Такие сервисы обычно используют 3 способа определения местоположения IP-адреса:

  1. Переход через WhoIs базы данных для поиска адреса;
  2. Отслеживание обратных DNS-запросов, чтобы попытаться найти улики на основе записей доменных имен, или отслеживание пути пакета, отправленного адресату, что также может дать подсказки (например, с помощью traceroute).
  3. И, наконец, они используют триангуляцию RTT.

Triangulation Round-Trip Time (RTT) - это метод, используемый для получения приблизительной геолокации IP-адреса путем измерения задержки пинга в трех разных местах.

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

Ресурсы, которые вы можете прочитать:
Что такое пинг? @ Википедия
SIGCOMM статья о RTT триангуляции

Вау, я бы никогда не подумал, что существует триангуляция на основе RTT. Интересно. Поэтому, если какой-либо сервер хочет избежать геолокации, это может привести к случайному запаздыванию в ответах ICMP. Learner 5 лет назад 5
Я хотел бы добавить, что было бы полезно взглянуть на tracert / traceroute, как написано на iplocation.net: «Вы можете использовать команду« traceroute », чтобы найти ключи к расположению IP-адреса. Имена маршрутизаторов, через которые поток пакетов от вашего хоста к хосту назначения может указывать на географический путь к конечному местоположению. " Learner 5 лет назад 0
@Learner, однако, это хорошее дополнение, которое уже есть в моем ответе в виде «отслеживания обратных DNS-запросов». Хотя traceroute на самом деле этого не делает, он показывает вам все домены / адреса, через которые проходит запрос. Я добавлю примечание, чтобы сделать это более ясным тем не менее :) Fanatique 5 лет назад 1
5
Ben Dowling

Я основатель IPinfo, поэтому могу определенно предложить некоторые детали по этому поводу ! Нет единственного метода, который мы используем, или единого источника данных, чтобы создать нашу собственную базу данных геолокации (или любой из наших других наборов данных, таких как IP для компании или IP для оператора). Это смесь различных наборов данных, методов обработки данных и уроков, полученных в течение нескольких лет!

Некоторые источники данных и методы, которые не часто упоминаются, включают:

  • Прямые каналы от интернет-провайдеров. Наш сервис обрабатывает около 500 миллионов запросов API в день и используется на многих популярных сайтах высокого уровня. Поэтому интернет-провайдеры заинтересованы в предоставлении нам точных и актуальных геолокационных данных, чтобы их клиенты могли получить отличный опыт работы в Интернете. Мы работаем напрямую с большим и большим количеством интернет-провайдеров.

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

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

Что касается нашего набора данных IP для компании, мы фактически очищаем каждое доменное имя каждый месяц и сопоставляем извлекаемые там данные с информацией о правах собственности на IP, записями rwhois и многим другим. Затем мы также используем данные о доменных именах, чтобы показать, какие домены размещены на каких IP-адресах, а также в нашем классификаторе типов IP, наряду со многими другими источниками данных, чтобы определить вероятность того, что IP-адрес будет в основном использоваться в качестве домашнего провайдера, бизнес или хостинг провайдер. Мы также анализируем структуру ссылок этих страниц и показать некоторые из этих данных на host.io .

Спасибо! Я не ожидал, что основатель этого сайта ответит на мой вопрос :) Это было очень интересно. Learner 5 лет назад 0