Я не ищу сервис, который делает это. Мне просто любопытно относительно того, как геолокация работает.
Картирование IP-адресов на геолокации осуществляется с помощью таблиц, в которых IP-карты наносятся на конкретную локацию. Однако это местоположение не обязательно должно быть точным, так как IP-адреса не несут никакой информации о своем местоположении, это аппроксимация.
С http://en.wikipedia. org/wiki/Geolocation_software:
Первичным источником данных IP-адресов являются региональные интернет-регистры, которые распределяют и распределяют IP-адреса между организациями, расположенными в их соответствующих регионах обслуживания:
- Американский реестр номеров Интернета (ARIN)
- Координационный центр сети RIPE (RIPE NCC)
- Азиатско-тихоокеанский сетевой информационный центр (APNIC)
- Латиноамериканский и Карибский реестр адресов в Интернете (LACNIC)
- Африканский сетевой информационный центр (AfriNIC)
Включает в себя вторичные источники:
- Добыча данных или данные о географическом местоположении, представляемые пользователями. Например, на веб-сайте, посвященном погоде, посетители могут запросить название города, чтобы найти свой местный прогноз. Другим примером может быть сопряжение IP-адреса пользователя с адресной информацией в его профиле аккаунта.
- Данные, предоставленные Интернет-провайдерами.
- Объединяя базы данных от разных поставщиков.
- Догадки из смежного диапазона классов C[2] и/или полученные из прыжков сети.
Точность повышается за счет:
- Стирания данных для фильтрации или выявления аномалий.
- Статистический анализ данных, представленных пользователем.
Как я понимаю, IP-подсети назначаются провайдерам, находящимся выше по течению от ваших провайдеров - поэтому каждый IP-диапазон помечен как находящийся в пределах страны происхождения этого провайдера, поэтому каждый IP в пределах этого диапазона предполагается, что он находится в пределах этой страны.
Это не глупо - раньше нам предоставлял спутниковую широкополосную связь (в Соединенном Королевстве) бельгийский провайдер. Каждый раз, когда мы что-либо гуглили, нам предлагали просматривать только страницы в пределах Бельгии
.В интернет-инфраструктуре есть нечто, называемое автономной системой, определение здесь
Каждому провайдеру назначен хотя бы один из них. У AS есть уникальный ASN (Номер Автономной Системы), в пределах этой AS можно иметь сети (WAN & LAN).
Эти сети назначаются провайдерам, которые вне курса имеют местоположение, поэтому протоколы маршрутизации знают ASN, в какой зоне они находятся.
Используя службы WHOIS, можно определить, кому принадлежит IP-адрес, поскольку большинству из нас IP-адрес присваивается нашим провайдером при выходе в интернет, на WHOIS вы в основном найдете город того провайдера, в котором вы находитесь. Но WHOIS сайт, вы найдете его владельца, поэтому Geolocation часто использует эту услугу
.Существует ряд организаций, которые управляют распределением IP-адресов, например, Американский реестр номеров Интернета (ARIN). Эти организации ведут основные списки выделенных блоков IP-адресов и мест их назначения, а также часто публикуют обновленные списки.
Геолокационное программное обеспечение в полной мере использует преимущества этих списков и предоставляет быстрые методы отображения IP-адресов по странам. Как правило, коммерческие продукты будут стремиться к большей точности и использовать другие источники данных.
Ознакомьтесь со статьей Geolocation Software в Википедии для получения некоторых интересных ссылок на эту тему.
.Для быстрого старта в геолокацию откройте командную строку и введите tracert stackoverflow.com
и обратите пристальное внимание на результаты. В основном, первые несколько строк уже выдают важные подсказки о вашем местоположении.