@mihass

Как определить гео принадлежность IP адреса не используя базы maxmind.com, ipgeobase.ru и т.п?

Добрый день!
Как и где можно узнать настоящую геопринадлежность IP адреса?
Вот например есть один IP адрес. maxmind.com говорит, что это Киев, ipgeobase.ru что это Симферополь, несколько сервисов типа 2ip.ru говорят, что это Харьков.
Как и где узнать как на самом деле? В whois указано месторасположение офиса провайдера, но провайдер оказывает услуги во многих городах.
  • Вопрос задан
  • 5234 просмотра
Пригласить эксперта
Ответы на вопрос 4
@throughtheether
human after all
Цель определения географического положения уточните, где и как будут данные использоваться?

UPD:
От этого зависит ответ на поставленный вопрос?

На самом деле, я хотел кое в чем удостовериться. И удостоверился.
С моей точки зрения, вы не вполне понимаете, что и зачем вам нужно. Что такое "географическая принадлежность IP адреса"? Географическая принадлежность может наблюдаться у человека, его дома, квартиры, клиентского устройства, но не у какого-то 32-битного числа. Соответствие клиентского устройства и глобально маршрутизируемого IPv4-адреса, который видит сервер в интернете - вещь в общем случае непостоянная и нерегулярная.

Как и где узнать как на самом деле?
на самом деле?
Получить доступ к внутренней документации провайдера (конфигурации устройств, карта сети с географической привязкой) и сопоставить разнородные данные. Все остальные способы, базы дадут вам лишь первое приближение.

Если рассмотреть задачу определения города клиента веб-магазина с целью персонализации, например, то я бы поступил так. Сначала определение положения по нескольким популярным базам, по данным регистратора IP адресов (RIPE для Европы/СНГ). Неким алгоритмом определил бы наиболее "специфичное" совпадение. Например, если RIPE и одна база говорят, что хост расположен в Киеве, а другая база - что во Львове, выбрал бы Львов как более специфичный вариант. Далее, показал бы клиенту ненавязчивую форму: "мы предполагаем, что вы из такого-то города, если это не так, то, пожалуйста, уточните данные" и установил бы ему соответствующий параметр в cookie.

Вкратце, IP-адреса годятся для определения географического положения клиента лишь в первом приближении. По мере развития практики аренды IPv4-префиксов интернет-компаниями друг у друга устаревание информации в различных базах ускорится. В зависимости от целей, вам может пригодиться Geolocation API HTML5 или некая реализация его аналога (т.е. с использованием не только IP-адреса, но и других данных, GPS в случае смартфона, SSID наблюдаемых точек доступа Wi-Fi и прочая)

UPD2: Забыл упомянуть еще один момент, иногда можно сделать выводы о местоположении хоста базируясь на его имени, в данном случае - записи PTR (например, hostXXXXXX.dyn.kiev.isp.ua). Опять же, эти корректность этих данных не гарантирована, была лет пять назад релевантная история с PTR вроде rostelecom-fsb в выводе traceroute до livejournal.com или аналогичного сервиса (с понятной реакцией пользователей сервиса, "37й год вернулся" и прочая).
Ответ написан
opium
@opium
Просто люблю качественно работать
Никак на самом деле
айпишников сейчас мало и провайдеры их тусуют как могут для оптимизации использования так что такие огрехи более чем вероятны.
Ответ написан
Комментировать
@Aleks_B
Определения геолокации по IP это целая наука.
Можете ознакомиться со статьями о том как это происходит в данный момент и какие новые технолии были разработаны совершенно недавно.
Bigdatacloud.net предоставляет удобные API и 10к запросов по каждому из них в месяц, абсолютно бесплатно, без ограничений по точности и детализации данных.
Ответ написан
Комментировать
Касаемо IpGeoBase вот инфа blog.ivru.net/?id=82
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы