Подтвердить что ты не робот

Как работает географический поиск по IP?

Являются ли какие IP-адреса назначены для общедоступной информации интернет-провайдера? Как геоинтерфейсы IP получают эту информацию и поддерживают эту информацию?

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

4b9b3361

Ответ 1

За что стоит, я работал на старшем уровне в индустрии ISP уже более десяти лет, поэтому у меня есть некоторый опыт в этом.

Большие диапазоны IP выделяются по мере необходимости IANA для каждого из Региональные интернет-реестры.

Регионы обычно имеют континентальный размер - IP-адреса не назначены для каждой страны.

В свою очередь, РИР выделяют IP-адреса интернет-провайдерам, которые, в свою очередь, назначают их конечным пользователям.

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

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

Различные поставщики GeoLocation в основном работают, используя эти записи whois. Обратите внимание, что законность этого - что-то вроде серой области - выражение об авторских правах базы данных RIPE здесь.

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

Ответ 2

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

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

Дело в том, что данные WHOIS не обязательно должны быть точными. Если у меня есть адресный блок, я могу сказать, что он находится на Марсе. И даже если вы сузите место окончательной организации (скажем, очень маленький интернет-провайдер на Аляске), пользователь может использовать dialup с Гавайских островов, или на сервере может быть компания из Гуама.

Таким образом, всегда существует элемент риска/оценки при сопоставлении IP-адреса (или имени домена) с физическим местоположением. Это не значит, что вы никогда не должны этого делать, есть много приложений, где грубая или несовершенная информация очень полезна.

Ответ 3

Чтобы ответить на конкретный вопрос о том, как это работает: , в нем задействовано много ручного труда, а базы данных в значительной степени поддерживаются вручную. Как и другие ответы, нет реальной корреляции между диапазонами IP и странами, а тем более конкретными регионами. В последнее время система распределения IP-адресов еще более децентрализована, что означает, что небольшие частные поставщики могут приобретать диапазоны адресов IPv4 независимо от географического региона. Вот почему Google приобрел Urchin, чтобы они могли использовать свои сервисы для Google Analytics, что обеспечивает очень точную информацию IP-географического региона.

Если вы не хотите использовать такую ​​услугу, как MaxMind (бесплатно для личного использования, а база данных открыта для некоторых ) или Google Analytics (бесплатно для личного использования), там бесплатные (и, следовательно, всегда устаревшие) базы данных, плавающие вокруг, иногда как плоские файлы.

Ответ 4

Остерегайтесь, данные часто медленно обновляются и еще медленнее реплицируются. Мое рабочее место изменило ISP несколько лет назад, и нам был назначен блок ранее канадских IP-адресов (мы базировались в США), в течение нескольких месяцев Google продолжал предоставлять нам google.ca в качестве нашей поисковой системы по умолчанию. Около 1/2 времени, когда мой домашний IP-адрес появляется из моего города, а другой - из города в другом штате.

Джейсон прав, что процесс тот же, но обновления еще медленнее, а данные менее точны.

Ответ 5

Ответ Alnitak в значительной степени зависит от метки.

В качестве побочного примечания, если вы хотите использовать .dll для определения местоположения пользователя, вы можете попробовать это IPAddressExtension, найденный на CodePlex. Он имеет внутреннюю базу данных провайдера в местах. Как упоминалось выше Alnitak, у каждого интернет-провайдера есть IP-блоки.. так что эта информация все захоронена внутри .dll:)

Он очень прост в использовании. Просто обратитесь к .dll, а затем создайте экземпляр объекта System.Net.IpAddress! на нем перечислены расширения.

Мне также нужно объявить, что я являюсь автором этого проекта/продукта codeplex.

Пожалуйста, проверьте это:)

EDIT: добавлена ​​информация о том, что я являюсь автором этого продукта.