Определение географической принадлежности IP-адреса


Содержание

Описание работы геолокации по IP адресу

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

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

Системы геолокации обычно функционируют по назначению, но также имеют некоторые важные ограничения.

Как используется IP-адрес?

Геолокация может использоваться в нескольких разных случаях:

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

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

По требованию законодательства. Ассоциация звукозаписывающей промышленности Америки (RIAA) и другие агентства могут использовать геолокацию, чтобы найти людей, незаконно меняющих медиафайлы в Интернете, хотя обычно они работают напрямую с поставщиками интернет-услуг (ISP).

Каковы ограничения геолокации?

Базы данных местоположения IP-адресов значительно улучшились с течением времени. Они могут попытаться сопоставить каждый сетевой адрес с определенным почтовым адресом или координатой широты / долготы. Тем не менее, существуют различные ограничения:

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

Может ли WHOIS использоваться для геолокации?

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

Где находятся базы данных геолокации?

Несколько онлайн-сервисов позволяют вам искать географическое местоположение IP-адреса, введя его в простую веб-форму. Два популярных сервиса — Geobytes и IP2Location . Каждая из этих служб использует запатентованные базы данных адресов на основе потока интернет-трафика и регистрации веб-сайтов. Базы данных были разработаны для использования веб-мастерами и могут быть приобретены в качестве загружаемого пакета для этой цели.

Что такое Skyhook?

Компания Skyhook Wireless построила базу данных геолокации другого типа. Их система предназначена для захвата местоположения глобальной системы определения местоположения (GPS) маршрутизаторов домашней сети и точек беспроводного доступа , которые также могут включать в себя жилые уличные адреса. Система Skyhook не является общедоступной. Однако его технология используется в плагине AOL Instant Messenger (AIM) «Near Me».

Что такое базы данных Hotspot?

Тысячи беспроводных точек доступа доступны для общего пользования во всем мире. Существуют различные онлайн-базы данных для поиска горячих точек Wi-Fi, которые отображают местоположение точки доступа, включая его адрес. Эти системы хорошо работают для путешественников, ищущих доступ в Интернет. Тем не менее, поисковые роботы предоставляют только сетевое имя ( SSID ) точки доступа, а не его фактический IP-адрес.

Определение географической принадлежности IP-адреса

При поддержке компании RU-CENTER стартовал новый проект «География российских IP-адресов IpGeoBase», разработанный командой Stat.nic.ru.

Цель проекта — создать общедоступный ресурс географической привязки российских IP-адресов. Кроме того, создается общедоступная бесплатная база данных такой географической привязки, которую мог бы использовать для географического таргетинга любой вебмастер на любом сайте как в Рунете, так и за его пределами.

Проект создан на основе данных RIPE DB. Обновления происходят ежедневно синхронно с обновлениями RIPE DB. В данный момент реализовано два режима поиска: простой, быстрый поиск для любого IP-адреса и расширенный поиск.

Простой поиск при вводе российских IP показывает населенный пункт, регион, округ, блок адресов; при вводе зарубежных адресов система выдает сообщение о том, что IP не является российским. Расширенный поиск — это альтернатива простого поиска: можно производить поиск по населенному пункту, региону, округу, а не по IP-адресу; можно уточнять поиск по имени организации, которая управляет блоком IP-адресов (имя выбирается из списка).

Базу данных можно скачать и использовать автономно абсолютно бесплатно. В качестве примера использования базы данных предоставляется скрипт, написанный на языке PERL.

В ближайшее время на сайте будет запущен блог, в котором каждый пользователь сможет высказать свое мнение о проекте, поделиться своим видением развития этого проекта.

Определить местонахождение IP адреса

Хотите узнать ip города или по ip узнать город то данный тест вам поможет справится! На этой странице вы можете очень просто определить местонахождение IP адреса, а также информацию о провайдере. По умолчанию там прописан ваш IP адрес.

Введите IP адрес:

Пожалуйста подождите, происходит загрузка!

Определение местоположения ip!
Данный сервис можно назвать как угодно: geoip, ip location и др. Смысл сервиса заключается в определении местности для заданного ip адреса. На данной странице можно определить местоположение ip адреса, узнать город по ip или же наоборот по ip адресу определить город. Ip местонахождение, ip местоположение на нашем сайте можно определить бесплатно в любой момент. «Найти город по ip адресу», так же можно определить бесплатно. Для этого необходимо заполнить графу «IP адрес» и нажать кнопку «Определить местоположение ip». По умолчанию определяется мой ip адрес (Пользователя данного пк). Поддерживается любой ip-адрес мира.

Определить город пользователя по IP адресу для сайта.

Готовый скрипт определения города при заходе посетителя на сайт

  • ГлавнаяНовости статьиjQuery , PHP , Заметки и доработки Opencart Определение города посетителя по IP адресу

Определение города посетителя по IP адресу

  • 4.4/5
  • 7 оценок
Очень плохо! Плохо Нормально Хорошо Очень хорошо!
14.3% 0% 0% 0% 85.7%

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

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

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

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

Для того чтобы определить города посетителя и показать его на страницах вашего сайта, есть много самых разных способов, есть сложные методы определение города по IP пользователя, есть более простые методы реализации и вывода названия города посетителя на сайте, мы же сегодня будем рассматривать два варианта определения и вывода страны и города посетителя на вашем сайте, а именно рассмотрим простую реализацию которую предоставляет нам яндекс, а так же немного сложнее способ Sypex Geo от создателей замечательного продукта Sypex Dumper.

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

Определение города посетителя используя яндекс API.

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

Но в данном методе есть и серьезный недостаток, которой и заставил по сути меня искать другие альтернативы определения города на сайте, как на своих проектах, так и при разработке сайтов для клиентов у которых основная аудитория из Украины. Как вы уже наверное знаете в Украине Яндекс под запретом и все запросы к нему блокируются интернет провайдерами, в связи с этим данную реализацию в Украине мы не можем использовать по крайней мере сейчас.

Хорошо, не буду вас мучить всей этой писаниной и приступим к реализации, установим на сайт геолокацию от Яндекса, которая выведет страну, регион и город посетителя вашего сайта.

Для начала проверьте что у вас подключена на сайте библиотека jquery, в большинстве сайтов она уже подключена но если же нет тогда добавьте на свой сайт между тегами следующий код:

Установление принадлежностии расположения 1Р-адреса

Затем устанавливается компьютер, который использовал данный IP-адрес, факт такого использования закрепляется экспертизой. Затем следует доказать, что этим компьютером в соответствующее время управлял подозреваемый.
Вторая из упомянутых задач — найти компьютер по его IP-адресу — и будет предметом рассмотрения в данной главе.
Уникальность
IP-адрес является уникальным идентификатором компьютера или иного устройства в сети Интернет. Это значит, что в пределах всей глобальной компьютерной сети в каждый момент времени только один-единствен- ный компьютер может использовать определенный IP-адрес. Из этого правила имеется целый ряд исключений: приватные*, или так называемые «серые» 1Р-адреса; коллективные, или мультикастовые (multicast) IP-адреса; сетевые и широковещательные (broadcast) IP-адреса; не выделенные или не присвоенные регистратором 1Р-адреса; IP-адреса, относящиеся к территориально распределенным кластерам
компьютеров.
Если же IP-адрес относится к категории публичных* (так называемых «белых») адресов, если он должным образом выделен одним из регистраторов, то этот адрес будет маршрутизироваться. То есть IP-пакет, отправленный на этот адрес из любой точки Интернета, найдет свою цель. Это значит, что данный IP-адрес — уникальный. И возможно установить компьютер, которому принадлежит этот 1Р-адрес.

Является ли тот или иной IP-адрес уникальным, не принадлежит ли он к упомянутым исключениям — это устанавливает специалист или эксперт.
Регистраторы
Выделением и регистрацией IP-адресов в Интернете занимаются организации, именуемые регистраторами IP-адресов (IP Registry). Это организации, являющиеся органами самоуправления* Интернета.
Регистраторы образуют трехуровневую иерархию: IANA — RIR — LIR.
Организация IANA является главным регистратором, она выделяет самые крупные блоки IP-адресов региональным регистраторам и большим организациям.
Региональных регистраторов (RIR) в настоящее время пять. Это ARIN (Северная Америка), RIPE (Европа и Центральная Азия), APNIC (Азиатско-Тихоокеанский регион), LACNIC (Латинская Америка), AfriNIC (Африка). Они выделяют крупные и средние блоки адресов местным регистраторам (LIR), а также ведут базу данных выделенных IP-адресов и предоставляют доступ к ней.
IANA

Местные регистраторы (LIR) выделяют мелкие блоки IP-адресов операторам связи и потребителям и регистрируют их в базе данных своего регионального регистратора. Как правило, роль местного регистратора исполняет оператор связи (интернет-провайдер). Таких регистраторов — несколько тысяч.
Все выделенные IP-адреса регистрируются в специальной базе данных, которую поддерживает региональный регистратор (RIR).

Сведения из этой базы данных (за исключением некоторых полей) доступны любому лицу по протоколу whois [22]. Обратиться к этой базе достаточно просто. При наличии доступа в Интернет надо набрать в командной строке «whois lt;1р-адресgt;». Такая команда имеется в любой операционной системе, кроме Windows. Для тех, кому она недоступна или неудобна, есть многочисленные веб-интерфейсы, то есть веб-страницы, на которых можно ввести запрашиваемый IP-адрес и получить ответ из соответствующей базы данных при помощи браузера.

Установление принадлежности IP-адреса через whois-клиент
Давайте для примера попробуем установить, где живет в настоящее время известный экстремистский ресурс «Кавказ-центр». Определим соответствующий ему IP-адрес и спросим об этом IP-адресе регистратора RIPE. Команда «host» разрешает доменное имя в IP-адрес, а последующая команда «whois3» связывается с whois-сервером указанного регистратора, делает запрос к его базе данных и выводит на экран всю полученную информацию.
$gt;host www.kavkazcenter.com
www.kavkazcenter.com has address 88.80.5.42 $gt;whois3 -В 88.80.5.42
% This is the RIPE Whois query server #1.
% The objects are in RPSL format.
% Note: the default output of the RIPE Whois server % is changed. Your tools may need to be adjusted. See % http://www.ripe.net/db/news/abuse-proposal-2005033I.html % for more details.
% Rights restricted by copyright.
% See http://www.ripe.net/db/copyright.html
% Information related to ‘88.80.2.0 — 88.80.7.255’
88.80.2.0 — 88.80.7.255 PRQ-NET-COLO prq Inet POP STH3 Co-located customer servers SE
pIN7-RIPE pIN7-RIPE ASSIGNED PA
registry-ripenotify@prq.se MNT-PRQ
registry-ripe@prq.se 20051125 RIPE

prq Inet NOC prq Inet Box 1206
SE 11479 Stockholm Sweden
+46 (0)8 50003150 noc@prq.se registry-ripe@prq.se
I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I
I Abuse reports should ONLY be sent to abuse@prq.se I ! Do NOT call unless it’s very urgent I
I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I
PW1115-RIPE

AC9661-RIPE PW1115-RIPE AC9661-RIPE pIN7-RIPE MNT-PRQ
registry-ripe@prq.se 20040707 registry-ripe@prq.se 20050802 registry-ripe@prq.se 20060308 registry-ripe@prq.se 20060324 registry-ripe@prq.se 20060508 RIPE
abuse@prq.se

% Information related to ‘88.80.0.0/19AS33837’

88.80.0.0/19
prq Inet aggregated route
AS33837
registry-ripenotify@prq.se MNT-PRQ
registry-ripe@prq.se 20051124 RIPE

Из полученного ответа усматривается, что диапазон IP-адресов с 0 по 88.80.31.255 выделен шведскому оператору связи «prq Inet». Из этого диапазона меньший поддиапазон с 88.80.2 . 0 по 88.80.7.255 используется как «Co-located customer servers», то есть для клиентских серверов на колокации*. В их числе и интересующий нас 88.80.5.42 (www.kavkazcenter.com).
«Соседями» домена «www.kavkazcenter.com», то есть доменами, имеющими тот же IP-адрес, оказались, согласно данным проекта «1Р Neighbors Domain Check» [W06], следующие: kavkaz.org.uk kavkaz. tv kavkaz.uk.com kavkazcenter. com kavkazcenter. info kavkazcenter.net old.kavkazcenter. com pda.kavkaz.tv pda.kavkazcenter. com wap.kavkaz.tv
Из чего можно заключить, что на этом сервере живут только проекты одного клиента. Это значит, что сервер — выделенный, принадлежит клиенту или целиком арендуется им у провайдера.

Установление принадлежности IP-адреса через веб-форму
Тот же результат можно получить, сделав запрос через веб-форму на веб-сайте RIPE — Европейского регистратора IP-адресов или каком-либо другом веб-сайте, имеющем аналогичную функцию.
Разница между получением справки через whois-клиент и веб-форму невелика. Источник тот же. Просто во втором случае добавляется еще один технический посредник в лице чужого веб-сайта.

Запрос whois-cepeepa через веб-форму

Корректность
Можно ли доверять данным, полученным таким способом? Обязанности по внесению, изменению и удалению записей лежат на местных регистраторах (LIR). Ho за исполнением этих обязанностей строго не следят. Местный регистратор может несвоевременно обновить запись или же, чтобы облегчить себе работу, зарегистрировать одной записью диапазон адресов, выделенных нескольким разным клиентам. Кроме того, данные о пользователях 1Р-адре- сов заносятся, как правило, со слов клиента, без должной верификации. Всё это приводит к тому, что среди записей указанной базы данных встречаются неверные — устаревшие или с неполными, некорректными сведениями.
Поэтому всецело доверять таким сведениям не следует. Как правило, сведения о местном регистраторе (LIR) — верные, поскольку LIR является членом регионального регистратора (RIR), имеет с ним договор, платит членские взносы, постоянно взаимодействует. А сведения о клиенте LIR’a, непосредственном пользователе IP, подлежат дальнейшей проверке.
Трассировка 1Р-адреса
Также некоторую помощь в установлении местоположения и принадлежности IP-адреса может оказать программа «traceroute», которая имеется в составе любой операционной системы, даже Windows.

Принцип действия этой программы таков. С компьютера исследователя испускаются IP-пакеты, адресованные на целевой IP-адрес. Обычно это пакеты протокола UDP, но можно использовать и любой другой. Поле TTL каждого испущенного пакета выставляется последовательно равным I, 2, 3 и так далее. Это поле предназначено для исключения перегрузки каналов на случай образования петель маршрутизации, то есть замкнутых маршрутов. При прохождении каждого маршрутизатора (маршрутизирующего устройства) поле TTL уменьшается на единицу. При достижении значения 0 этот IP-пакет сбрасывается, а в адрес отправителя посылается специальное уведомление — сообщение протокола ICMP [80], тип 11, код 0. Следовательно, пакет с TTL=I будет сброшен на первом маршрутизаторе по пути следования, пакет с TTL=2 — на втором маршрутизаторе и так далее. По обратному адресу принятых ICMP-паке- тов компьютер исследователя устанавливает, через какие узлы пролегает маршрут до целевого компьютера.
Вот пример работы программы «traceroute». Попробуем с ее помощью определить, где располагается сервер www.microsoft.com.
$gt;traceroute www.microsoft.com
traceroute: Warning: www.microsoft.com has multiple addresses; using 207.46.18.30
traceroute to lbl.www.ms.akadns.net (207.46.18.30), 64 hops max, 40 byte packets gw.mkfinance.ru (10.0.4.61) 0.264 ms 0.238 ms 0.281 ms Dl-MCH-gi0-2.80.rusmedia.net (83.222.194.1) 63.927 ms 48.689
ms * Cl-M9-gil-3-0.3.rusmedia.net (212.69.98.229) 26.845 ms 48.375
ms 21.7 93 ms msk-dsr5-vl305.rt-comm.ru (195.161.4.153) 36.798 ms 64.589 ms
79.828 ms 195.50.92.1 (195.50.92.1) 111.559 ms 125.433 ms 123.118 ms ae-0-56.bbr2.Londonl.Level3.net (4.68.116.162) 93.407 ms ae-O-
52.bbr2.Londonl.Level3.net (4.68.116.34) 200.311 ms 100.872 ms as-0-0.bbrl.SanJosel.Level3.net (64.159.1.133) 253.125 ms ae-O-
O.bbr2.SanJosel.Level3.net (64.159.1.130) 258.511 ms as-O-
O.bbrl.SanJosel.Level3.net (64.159.1.133) 445.133 ms ge-4-0-0-56.garl.SanJosel.Level3.net (4.68.123.162) 248.892 ms
ge-2-0-0-51.garl.SanJosel.Level3.net (4.68.123.2) 348.158 ms ge-4-
0-0-52.garl.SanJosel.Level3.net (4.68.123.34) 318.136 ms MICR0S0FT-C.garl.SanJosel.Level3.net (209.245.144.110) 229.556
ms 338.955 ms 234.984 ms ge-7-3-0-45.sjc-64cb-lb.ntwk.msn.net (207.46.45.35) 289.415 ms
253.833 ms 245.386 ms ten9-2.bay-76c-lb.ntwk.msn.net (207.46.37.166) 253.875 ms
383.844 ms 355.371 ms ten8-3.bay-76c-ld.ntwk.msn.net (64.4.63.2) 310.604 ms 245.782
ms 273.315 ms po33.bay-6nf-mcs-3b.ntwk.msn.net (64.4.63.90) 245.387 ms
260.27 0 ms 257.520 ms * po33.bay-6nf-mcs-3b.ntwk.msn.net (64.4.63.90) 297.405 ms !X * po33.bay-6nf-mcs-3b.ntwk.msn.net (64.4.63.90) 251.177 ms !X *
440.829 ms IX
Как видим, пакеты шли через узлы провайдера «rusmedia.net» (шаги 2 и 3), затем через «rt-comm.ru» (шаг 4), потом через «level3 .net» (6-9). На девятом шаге пакет, очевидно, перешел в сеть «Майкрософт», потому что соответствующий маршрутизатор имеет в своем имени «microsoft», хотя это имя в домене «level3.net». Все прочие шаги — внутри корпоративной сети Майкрософта (msn.net). В именах транзитных маршрутизаторов мы можем заметить названия «msk» (Москва), «london» (Лондон) «sanjose» (Сан-Хосе) — это дает представление об их физическом расположении. Финальный сервер, скорее всего, тоже стоит в городе Сан-Хосе.
Попробуем трассировать тот же сервер из другого места Интернета.
fnn@home$gt;traceroute 207.46.18.30
traceroute to 207.46.18.30 (207.46.18.30), 64 hops max, 40 byte packets aihs-tun (10.5.0.1) 81.374 ms 77.511 ms 117.574 ms bg-aihs.net (80.94.80.1) 101.864 ms 106.277 ms 63.229 ms v283.mpd01.fra03.atlas.cogentco.com (149.6.81.37) 227.850 ms 267.295 ms 221.259 ms tl3-0-0.core01.fra03.atlas.cogentco.com (130.117.1.221) 93.270
ms 113.874 ms 88.356 ms t4-3.mpd01.fra03.atlas.cogentco.com (130.117.0.246) 180.930 ms
188.143 ms 179.462 ms t4-l.mpd01.par02.atlas.cogentco.com (130.117.2.14) 183.689 ms
176.424 ms 167.548 ms t2-2.mpd02.par01.atlas.cogentco.com (130.117.2.81) 175.570 ms
170.390 ms 178.438 ms g5-l.mpd01.par01.atlas.cogentco.com (130.117.2.49) 205.371 ms
190.409 ms 170.393 ms pl4-0.core01.jfk02.atlas.cogentco.com (130.117.1.245) 158.309
ms 164.527 ms 164.132 ms p4-0.core02.dca01.atlas.cogentco.com (66.28.4.81) 163.937 ms
167.115 ms 167.780 ms t4-3.mpd01.dca01.atlas.cogentco.com (154.54.5.57) 171.609 ms
174.707 ms 187.524 ms v3498.mpd01.dca02.atlas.cogentco.com (154.54.7.6) 173.299 ms
172.891 ms 180.584 ms t2-2.mpd01.iad01.atlas.cogentco.com (154.54.1.78) 174.717 ms
176.820 ms 244.616 ms ge5-l.edgel.ashl.us.msn.net (154.54.10.102) 167.459 ms 181.929
ms 181.873 ms 207.46.47.92 (207.46.47.92) 179.655 ms 170.900 ms 202.355 ms so-6-0-0-0.pao-64cb-la.ntwk.msn.net (207.46.33.61) 242.773 ms
303.281 ms 326.135 ms * ten9-2.bay-76c-lc.ntwk.msn.net (207.46.37.161) 272.496 ms
259.461 ms
po34.bay-6nf-mcs-3b.ntwk.msn.net (64.4.63.98) 247.020 ms
250.746 ms 291.349 ms po34.bay-6nf-mcs-3b.ntwk.msn.net (64.4.63.98) 339.056 ms !X *
242.941 ms !X
fnn@home$gt;
Путь пакетов пролегает через провайдера «Cogent Communications, Inc.» (cogentco.com), откуда непосредственно переходит в корпоративную сеть «Майкрософта» (msn.net).
Кроме IP-адресов установленных в ходе трассировки узлов указаны соответствующие им доменные имена. Среди операторов связи принято назначать маршрутизаторам доменные имена, говорящие об их принадлежности и географическом расположении. Поэтому можно приблизительно судить о местоположении и подключении целевого адреса. В показанном примере в именах маршрутизаторов мы видим метки городов: «fra» (Франкфурт-на-Майне), «раг» (Париж), «jfk» (Нью-Йорк), «dca» (Вашингтон), «iad» (Вашингтон), «ash» (Эшбурн), «рао» (Пало-Альто). Эти мет- ки-аббревиатуры взяты из кодов аэропортов соответствующих городов.
Иногда полезно трассировать искомый адрес из разных точек Сети, как бы с разных сторон, чтобы получить более надежные сведения. Для этого можно воспользоваться многочисленными публичными сервисами «looking glass», которые установлены у разных провайдеров и доступны через веб-формы.
Попробуем трассировать тот же адрес из третьей точки при помощи такого инструмента.
т» • -—-¦ 1ТГ
pie Edit View History Bookmarta Ioolt Hdp О
Vs* • Ч http://looldnggla«.telia.net/cgi-birtffl.cgigt;query=traceamp;proto( * Ir Cl*
Graph. P AII-IP мКрими. ,Honda. U IACJS. .Basic. B NIST I. й Форум. Ч Teli. и • TcIuSoncrj Looking Glass — tracerouie 207.46.18J0
Router: Amsterdam
Command: traceroute 207.46.18.30
Tracing the route to wwwbaytest5.aicrosoft.coa (267.46.18.36) ada-bbl-posl-6-8-e.telia.net (213.248.72.137) 6 usee ada-bbl-link.telia.net (86.91.249.217) 6 asec
ada bbl-Unk.telia.net (86.91.249.225) 6 asec ldn-bb2-pos7-2-6.telia.net (213.248.65.157) 8 asec 8 asec 8 asec nyk-bbl-pose-2-e.telia.net (213.248.65.96) 86 asec 76 asec 86 asec chi-bbl pos7-6-e-e.teUa.net (213.248.80.73) (MPLS: Label 352601 Exp 6] lee asec 168 asec 126 asec dls-bbl-pos6-e-e.telia.net (213.248.80.149) I MPLS: Label 171696 Exp e] 124 asec 120 asec 124 asec las-bbl-link.telia.net (213.248.80.13) [MPLS: Label 277808 Exp 0] 152 asec 156 asec 152 asec sjo-bl-link.telia.net (213.248.80.18) 172 asec 168 asec 156 asec Bicrosoft 116312 Sjobb (213.248.86.76) 156 asec 156 asec 166 asec ge-6-3-e-44.sjc-64cb-la.ntwk.asn.net (267.46.44.98) [AS 8675] 152 asec 152 asec 152 asec
16 ten9-l.bay-76c-la.ntwk.asn.net (267.46.37.158) [AS 8675] 156 asec 166 asec 156 asec ten8-3.bay-76c-lc.ntwk.asn.net (64.4.25.46) |AS 86751 166 asec 156 asec 166 asec po34.bay-6nf-acs-3b.ntwk.asn.net (64 4.63.98) (AS 8075) 156 asec 156 asec 166 asec po34.bay-6nf-acs-3b.ntwk.asn.net (64.4.63.98) [AS 8675J IA • IA
Please email questions or comments to peter ,cohen/itAeli a soner a .com.
Done
Веб-интерфейс для трассировки адреса с узла провайдера («looking glass»)

Путь пакета обозначается кодами: adm (Амстердам), Idn (Лондон), пук (Нью-Йорк), chi (Чикаго), dls (Даллас), Ias (Лос-Анджелес), sjo (Сан-Хосе).
В этом случае сети «Телии» и «Майкрософта», очевидно, стыкуются в Сан-Хосе (код «sjo», см. шаги 7-8).
У каждого провайдера свои принципы наименования маршрутизаторов и свои условные обозначения. Тем не менее все стараются придерживаться определенных правил и использовать понятные мнемоники [W25], В случае неясности можно попробовать посмотреть whois-запись для соответствующего IP-адреса, в ней также можно найти указание на географическое расположение.

* VisuaIRout* 8.0а пвия
Re Ed* View Optons Toofe HeJp
Addet* I hrtP «»»» vnualrome * — + IP Addiettet 1194 242 61 52
Report for www.visualroute.it [194.242.61.52]

Визуальный трассировщик 1Р-адреса
Операции по анализу результатов трассировки IP-адреса, их сопоставлению с географией частично поддаются автоматизации. Есть несколько программ, которые с большим или меньшим успехом идентифицируют промежуточные узлы в трассировке.
К сожалению, нельзя полностью доверять доменным именам узлов, которые определяются программой «traceroute». Следить за корректностью этих имен провайдеры не обязаны. Так что результаты трассировки могут служить лишь косвенным указанием на местоположение компьютера.

Кроме того, «traceroute», работая исключительно на 3-м (сетевом) уровне, не видит туннели, VPN, MPLS и некоторые иные особенности организации сети. В качестве иллюстрации читателю предлагается самостоятельно попробовать определить при помощи трассировки географическое местоположение домашнего компьютера автора «home.fnn.ru».
Неуловимый IP
Приведем еще один интересный пример. Это «зомби-хостинг», то есть содержание публичных сетевых ресурсов не на серверах, а на компьютерах зомби-сети* (ботнета). Зомбированные клиентские компьютеры используются как в качестве веб-серверов, так и в качестве DNS-серверов для соответствующего домена [23]. Зомби-сервер живет недолго — от нескольких часов до нескольких дней. Однако их много. Поэтому можно поддерживать постоянную доступность.
Ниже приводятся результаты проделанного автором эксперимента. В листинге показаны результаты запросов относительно NS-серверов и IP- адреса для доменного имени «send-safe.com», это веб-сайт широко известного в узких кругах производителя программного обеспечения для рассылки спама*. Сделаем несколько DNS-запросов с интервалом в пять минут:
fnn@home$gt;host -t ns send-safe.com send-safe.com name server ns3.safe4net.net. send-safe.com name server ns4.safe4net.net. send-safe.com name server nsl.safe4net.net. send-safe.com name server ns2.safe4net.net. fnn@home$gt;host -t ns send-safe.com send-safe.com name server nsl.london2portal.com. send-safe.com name server ns2.london2portal.com. fnn@home$gt;host send-safe.com send-safe.com has address 89.36.47.10 send-safe.com has address 89.78.70.224 send-safe.com has address 68.37.246.232 send-safe.com has address 69.155.132.152 send-safe.com has address 71.155.241.20 fnn@home$gt;host send-safe.com send-safe.com has address 86.20.204.169 send-safe.com has address 213.85.5.23 send-safe.com has address 66.61.23.171 send-safe.com has address 81.106.163.50 send-safe.com has address 82.138.37.213 fnn@home$gt;host send-safe.com send-safe.com has address 24.9.184.225 send-safe.com has address 71.60.68.225 send-safe.com has address 71.155.241.20 send-safe.com has address 212.1.227.1 send-safe.com has address 217.173.174.237 fnn@home$gt;host send-safe.com send-safe.com has address 24.9.184.225

send-safe.com has address 71.60.68.225 send-safe.com has address 82.246.189.246 send-safe.com has address 87.240.24.61 send-safe.com has address 212.1.227.1 fnn@home$gt;host send-safe.com send-safe.com has address 66.61.23.171 send-safe.com has address 71.155.241.20 send-safe.com has address 82.138.37.213 send-safe.com has address 86.20.204.169 send-safe.com has address 213.85.5.23
Как видно, NS-сервера довольно часто меняются. Меняются и 1Р-адре- са веб-сайта, причем в каждый момент их доступно несколько. То есть вебсайт и обслуживающие его DNS-сервера рассредоточены и постоянно мигрируют. Если начать наводить справки о принадлежности и географическом положении всех выявленных IP-адресов, то окажется, что они равномерно разбросаны по всему Интернету. На самом деле это адреса зомбированных компьютеров, пригодных для размещения веб-сайтов. То есть веб-сайт как бы «размазан» по большой зомби-сети*. Благодаря такой технологии веб-сайт «send-safе. сот» виден пользователям с очень высокой вероятностью, однако прекратить его работу весьма затруднительно.
Зафиксировать положение такого сайта невозможно, обнаружить его владельца довольно трудно, доказать факт управления таким сайтом- призраком тоже нелегко.
Описанная технология применяется довольно редко. Подавляющее же большинство веб-сайтов живут на фиксированных IP-адресах, опера- торы-владельцы которых знают если не о личности владельца сайта, то, по крайней мере, о самом факте размещения.
Пространство и время
IP-адреса могут переходить от одного пользователя к другому. Некоторые из них выделяются на постоянной основе — они именуются статическими. Другие же IP-адреса выделяются только на конкретный сеанс связи и называются динамическими. Для статических IP-адресов период жизни исчисляется месяцами и годами, а для динамических — минутами.
В записях для тех диапазонов IP-адресов, которые используются для динамического выделения, обычно это указывается. Там можно увидеть слова «dynamic», «dialup» или «NAT».
В обоих случаях при установлении принадлежности IP-адресов следует учитывать момент времени, по состоянию на который мы хотим установить пользователя этого адреса. Для динамических IP-адресов этот момент надо указывать с точностью до секунды, поскольку бывают совсем короткие сеансы связи. Кроме времени следует указать часовой пояс и возможную погрешность часов, по которым фиксировалось время.

Документирование
Для уголовного дела, скорее всего, будет недостаточно простой распечатки ответа whois-сервера. Получить же официальную справку от европейского регионального регистратора RIPE будет весьма затруднительно, поскольку офис его находится в Амстердаме. Офисы других региональных регистраторов — еще дальше.
Нынешняя практика предусматривает два способа документирования ответа whois-сервера. Первый вариант: распечатка такого ответа может быть заверена каким-либо местным оператором связи, являющимся одновременно местным регистратором (LIR). В таком качестве часто выбирают РОСНИИРОС как старую и авторитетную организацию. Второй вариант: получение сведений о принадлежности IP-адреса оформляется рапортом оперуполномоченного; сведения из базы данных регистратора приводятся прямо в тексте рапорта. Иные варианты документирования (экспертиза, нотариальное заверение, справка от RIR) возможны, но до сих пор не применялись на практике.
Принадлежность IP-адреса к конкретному компьютеру все равно должна подтверждаться экспертизой этого компьютера и показаниями сотрудников оператора связи. Поэтому описанная нестрогость в документировании ответа whois-сервера вполне допустима.
Физическое расположение
Из данных регистратора мы узнаем, за кем закреплена соответствующая подсеть или диапазон IP-адресов. Обычно таковым субъектом является оператор связи или его клиент. Очень редко в базе данных регистратора значится непосредственный пользователь 1Р-адреса.
Получить или уточнить данные о непосредственном пользователе, а также установить его географическое расположение можно у оператора связи, на которого зарегистрирован соответствующий диапазон IP. Бывает, что этот оператор не знает точного местоположения клиента, поскольку между ним и клиентом находится оператор-посредник или оператор последней мили. Бывает, что посредник не единственный. В таком случае придется пройти по всей цепочке операторов.
В принципе, функция определения местоположения конечного оборудования (компьютера пользователя) предусмотрена в СОРМе. Однако очень мало надежды, что такая функция в действительности работает в силу того, что операторы связи учитывают своих клиентов по-разному, держат эти данные в самых различных форматах и редко организуют к ним онлайновый доступ для ФСБ. Привести весь клиентский учет всех операторов к единому знаменателю — задача на сегодняшний день невыполнимая.

Пргтер
Приведем характерный пример из практики.
Установлено, что неправомерный доступ к компьютерной информации был осуществлен 31.12.06, 21:01:30 по московскому времени с 1Р-ад- реса 217 .107 .0.58. Данный адрес зафиксирован техническими средствами потерпевшего и его провайдера и закреплен протоколами осмотра и актом экспертизы.
Запрашиваем whois и выясняем, что сеть 217.107.0.0- 217 .107 .255.255 зарегистрирована за провайдером «Главтелеком», а подсеть 217 .107 .0.0-217.107.0.255 — за провайдером «Урюпинский хостинг». Первой части этих данных можно верить, поскольку «Главтелеком» является LIR’om и данные о нем заносятся в базу самим региональным регистратором (RIR). Вторая же часть данных вызывает немного меньше доверия, поскольку здесь выше вероятность ошибки, да и времени с момента последнего обновления записи прошло немало.
Соответствующую распечатку ответа whois-сервера оформляем рапортом оперативного сотрудника. А в «Главтелеком» направляем официальный запрос с требованием предоставить информацию о клиенте.
Получаем ответ, в котором ОАО «Главтелеком» подтверждает, что диапазон 217.107.0.0-217.107.0.255 на интересующий момент времени был выделен в пользование его клиенту — ЗАО «Урюпинский хостинг». О дальнейшем распределении и использовании этих IP-адресов знают только в Урюпинске.
Предполагая, что злоумышленником является не сотрудник этого провайдера, а его клиент, и считая провайдера лицом незаинтересованным, запрашиваем ЗАО «Урюпинский хостинг» об интересующем нас адресе 217.107 .0.58, указав точный момент времени, когда имел место неправомерный доступ.
Получаем ответ из Урюпинска, что поддиапазон адресов 217 .107 . 0 .2-217 .107 .0 .63 используется для динамического выделения клиентам услуги коммутируемого доступа (dial-up), а в указанный момент (31.12.06, 18:01:30 по Гринвичу) этот адрес использовался клиентом, авторизованным по логину «pupkin». Этот логин, в свою очередь, закреплен за договором №163/2006 на имя Пупкиной Ирины Васильевны.
Для закрепления доказательств следует изъять и отправить на экспертизу компьютер, на котором функционировали технические средства, производившие авторизацию пользователя, выделение динамического IP-адреса и ведение соответствующих лог-файлов. Вместо изъятия и экспертизы можно ограничиться осмотром указанных компьютеров и лог- файлов (подробнее см. главу «Осмотр места происшествия»). Также следует изъять клиентский договор.

Окончательное закрепление доказательств производится в ходе экспертизы компьютера из квартиры Пупкина.
Итак, цепочка доказательств, привязывающая IP-адрес к компьютеру конечного пользователя, у нас сложилась такая: рапорт оперуполномоченного Иванова о выделении сети 0-217.107.255.255 российскому провайдеру «Главтеле- ком»; справка из «Главтелекома» о выделении сети 217.107.0.0- 255 провайдеру «Урюпинский хостинг»; справка из ЗАО «У.Х.» об использовании подсети 217.107.0.2- 63 для динамического выделения клиентам; протокол осмотра сервера «У.Х.», где в логах значится выделение адреса 217 .107 . 0. 58 пользователю «pupkin» в период 31.12.06, 22:45:31-23:20:12 по местному времени; клиентский договор, из которого следует принадлежность логина «pupkin»; акт экспертизы компьютера, изъятого при обыске в квартире Пупкина, где зафиксирован факт выхода в Интернет в период 31.12.06, 22:46:31-23:21:12 через модемный пул провайдера «У.Х.».
Цепочка замкнулась и защелкнулась. Некоторые особенности этой цепочки (вхождение одного диапазона IP в другой диапазон, особенности авторизации, разница и регулярное смещение временных интервалов и т.п.) может пояснить эксперт или специалист в ходе его допроса.
Прочее
Понятно, что невозможно не только изложить в данной книге, но даже просто упомянуть все возможные особенности и трудности в задаче установления принадлежности IP-адресов. Например, использование протокола IP версии 6 (все вышесказанное относится только к версии 4), трансляция IP-адресов, туннелирование, несимметричная маршрутизация, провайдер, не учитывающий или не знающий своих клиентов, использование прокси-серверов и иных посредников для сокрытия истинного IP-адреса и т.д.
Подобные препятствия встречаются сплошь и рядом. Описать все возможные случаи — означает изложить полное содержание нескольких учебных курсов. На освоение соответствующих знаний ИТ-специ- алист тратит годы, и было бы наивно полагать, что все это можно объяснить оперу, следователю или судье простыми словами за несколько часов.
Поэтому при установлении принадлежности и местоположения IP- адреса в ходе OPM или предварительного следствия участие технического специалиста обязательно.

Freya

March 2020

S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Определение страны посетителя сайта по его IP

Не секрет, что диапазоны IP адресов распределены между странами мира, то есть зная IP можно достаточно точно определить, в какой стране находится пользователь. Иногда даже можно определить его город и координаты (но вот на точность этих данных полагаться уже не стоит).

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

MaxMind

GeoIP2 сервис, практически монополист на рынке, предлагающий платные услуги по определению страны, города и других параметров.

Достоинство — самые актуальные базы и различные подходы к повышению точности определения.

Недостаток — услуга использования онлайн-сервиса платная, 0,0001 $ за запрос, причем платить нужно вперед. Однако, можно скачать бесплатную версию баз GeoLite2 Country или GeoLite2 City, разместить ее на сервере (для этого нужно иметь доступ к файловой системе), и использовать в C#, Java или php проекте (список поддерживаемых API).

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

ip2nation.com

Это MySQL база данных с информацией о соответствии адреса стране. Скачать для размещения ее на собственном сервере можно здесь.

Пример на php, позволяющий вывести полное название страны:

geoPlugin

Онлайн-сервис определения страны и города подключается к сайту следующим образом:

После подключения можно вызывать следующие методы:

geoplugin_status() — статус (200б 4040 и т. д.)

geoplugin_credit() — благодарности сервису MaxMind, упомянутому чуть выше.

geoplugin_region() — область или регион

geoplugin_areaCode() — код зоны

geoplugin_dmaCode() — американский код из трех цифр, определяющий набор поддерживаемых телеканалов

geoplugin_regionCode() — код региона

geoplugin_regionName() — название региона

geoplugin_countryCode() — двухбуквенный код страны

geoplugin_countryName() — название страны на английском языке

geoplugin_continentCode() — код континента (например EU — Европа)

geoplugin_currencyCode() — трехбуквенный код валюты страны

geoplugin_currencySymbol() — символ валюты страны

Также можно не подключать библиотеку, а использовать JSONP:

Достоинство — кроме страны можно получить информацию о валюте и ее код (₴, €, ₽).

Недостаток — запросы по HTTPS платные, подписка стоит €12 в год.

ipinfo.io

Открытый сервис, позволяющий бесплатно делать до 1000 запросов в сутки .

Чтобы вызвать его в js используется код

В ответе вы получите:

«ip» — IP адрес пользователя

«hostname» — обратный IP

«city» — предположительный город, в котором находится пользователь

«region» — регион (область, район)

«country» — страна в виде двухбуквенного кода

«loc» — координаты широты и долготы

«org» — информация о провайдере

Сервис поддерживает HTTPS, можно использовать его на сайтах с поддеpжкой HTTPS. Чтобы избежать проблем с кросс-доменными запросами, которые Chrome ограничивает, можно воспользоваться поддержкой JSONP:

Практически полный клон ipinfo — сервис ipapi.co. Также ограничивает бесплатное использование 1000 запросов в сутки .

freegeoip.net

Сервис, предлагающий открытый HTTP и HTTPS API, позволяющий получить информацию в форматах CSV, XML или JSON.

Для бесплатного использования предлагается 10 000 запросов в час .

Сервис также поддеживает JSONP:

«ip» — непосредственно IP адрес

«country_code» — двухбуквенный код страны

«country_name» — название страны на английском языке

«region_code» — код региона

«region_name» — название региона

«zip_code» — почтовый код (США)

«time_zone» — временная зона

Вместо выводов

По результатам наблюдений все приведенные сервисы (кроме MaxMind, который в испытаниях не участвовал, и вообще приведен в статье лишь для полноты картины) правильно определили страну и код страны, geoPlugin сумел правильно определить валюту. Только сервис ipinfo правильно определил область, но промахнулся с городом, а ни один другой сервис город и область не определили совсем (вернули null, 0 или пустое значение).

Posted on Jan. 29th, 2020 at 05:58 pm | Link | Leave a comment | Share | Flag

API для определения местоположения по IP адресу или как сделать геолокацию на сайте?

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

Начну я с вопроса, а зачем вообще нужен такой функционал на сайте?

Зачем нужно определять местоположение посетителей?

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

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

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

Как определять местоположение посетителей?

Существует несколько различных способов определения местоположения по IP адресу, сегодня я расскажу о способе, который подходит разработчикам, ведь он подразумевает использование API, т.е. программного интерфейса, в нашем случае интернет сервиса. К основным плюсам такого способа можно отнести:

  • Простота интеграции функционала в свое приложение;
  • Отсутствие необходимости настраивать локальные библиотеки GeoIP.

Во многих популярных CMS, включая и WordPress, и Joomla, есть различные плагины, модули и компоненты, которые, так или иначе, используют данные о местоположении посетителя. Функционал в подобных компонентах и плагинах в большинстве случаев как раз и использует API интерфейс для определения местоположения посетителя. Поэтому если Вы хотите реализовать свой виджет, плагин, модуль или компонент, который должен работать с данными геолокации, то использование API будет наиболее простым решением.

Принцип использования API для реализации геолокации следующий: Вы определяете IP адрес посетителя, затем делаете обычный GET запрос к интернет сервису, который позволяет определять местоположение по IP адресу, и у которого есть API интерфейс, а в качестве параметра Вы как раз и передаете IP адрес посетителя. В ответ он Вам возвращает данные о геолокации, обычно в формате XML или JSON, Вам, в свою очередь, остается обработать полученные данные.

API геолокации по IP адресу – обзор сервиса IPWHOIS.IO

Теперь давайте поговорим о сервисах, у которых есть интерфейс, позволяющий определять местоположение по IP адресу, точнее, сегодня я хочу рассказать Вам всего об одном таком сервисе – это IPWHOIS.IO, основная функция которого – это как раз API геолокации по IP адресу.

Основные особенности IPWHOIS.IO:

  • Обновление данных в режиме реального времени – Вы всегда будете получать только актуальную информацию, при этом самостоятельно Вам ничего не нужно обновлять;
  • Быстрая работа — серверы IPWHOIS.io расположены по всему миру, что позволяет обрабатывать запросы максимально быстро;
  • Безопасная работа – взаимодействие с сервисом происходит по защищенному протоколу HTTPS;
  • Поддержка IPv4 и IPv6 – в качестве параметра Вы можете предавать адреса и IPv4, и IPv6;
  • Поддержка JSON, XML и Newline – сервис может возвращать данные в нескольких форматах на Ваш выбор, это может быть JSON, XML или Newline;
  • Доступно бесплатное использование – сервис позволяет обрабатывать до 1000 запросов в день абсолютно бесплатно, если у Вас небольшой проект, то Вам за использование этого сервиса даже платить не нужно.

Как работать с IPWHOIS.IO?

Сейчас давайте я покажу, как происходит взаимодействие с этим сервисом. Кстати, этот сервис Вы можете использовать и для простого определения местоположения по IP адресу, иными словами, если Вам нужно получить информацию об IP адресе, т.е. геолокацию, Вы можете зайти на IPWHOIS.IO, ввести нужный IP адрес и в ответ получить всю необходимую информацию. Для начала давайте я покажу, как это делается, т.е. как узнать местоположение по IP адресу, разработчики таким способом могут просто проверить работу сервиса.

Переходим на сайт сервиса https://ipwhois.io/ и вводим в специальное поле нужный IP адрес. По умолчанию отображается информация о Вашем IP адресе, другими словами, чтобы получить информацию о Вашем собственном местоположении по IP адресу, достаточно просто перейти на сайт этого сервиса.

Для того чтобы узнать местоположение по какому-то чужому IP, как я уже сказал, вводим IP в поле и нажимаем кнопку поиска.

Чтобы получить точно такую же информацию, но уже, например, в формате JSON можно послать следующий GET запрос

  • free.ipwhois.io — адрес интерфейса, для бесплатного использования он такой;
  • json – формат возвращаемых данных, если указать XML, то, соответственно, данные вернутся в формате XML;
  • 8.8.4.4 – IP адрес, местоположение которого нужно узнать.

В данном случае в ответ Вы получите следующие данные (формат JSON):

Что означает каждый из этих параметров, Вы можете найти в документации, если вкратце, то:

  • ip — Запрашиваемый IP адрес;
  • success — Статус операции;
  • message — Сообщение в случае ошибки (success = false);
  • type — Тип IP адреса (IPv4 или IPv6);
  • continent — Название континента;
  • country — Название страны;
  • region — Регион;
  • city – Город;
  • isp — Имя провайдера;
  • currency_code — Код валюты страны.

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

У меня все, надеюсь, этот сервис поможет Вам сделать геолокацию на сайте или в своем приложении, пока!

Описание работы геолокации по IP адресу

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

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

Системы геолокации обычно функционируют по назначению, но также имеют некоторые важные ограничения.

Как используется IP-адрес?

Геолокация может использоваться в нескольких разных случаях:

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

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

По требованию законодательства. Ассоциация звукозаписывающей промышленности Америки (RIAA) и другие агентства могут использовать геолокацию, чтобы найти людей, незаконно меняющих медиафайлы в Интернете, хотя обычно они работают напрямую с поставщиками интернет-услуг (ISP).

Каковы ограничения геолокации?

Базы данных местоположения IP-адресов значительно улучшились с течением времени. Они могут попытаться сопоставить каждый сетевой адрес с определенным почтовым адресом или координатой широты / долготы. Тем не менее, существуют различные ограничения:

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

Может ли WHOIS использоваться для геолокации?

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

Где находятся базы данных геолокации?

Несколько онлайн-сервисов позволяют вам искать географическое местоположение IP-адреса, введя его в простую веб-форму. Два популярных сервиса — Geobytes и IP2Location . Каждая из этих служб использует запатентованные базы данных адресов на основе потока интернет-трафика и регистрации веб-сайтов. Базы данных были разработаны для использования веб-мастерами и могут быть приобретены в качестве загружаемого пакета для этой цели.

Что такое Skyhook?

Компания Skyhook Wireless построила базу данных геолокации другого типа. Их система предназначена для захвата местоположения глобальной системы определения местоположения (GPS) маршрутизаторов домашней сети и точек беспроводного доступа , которые также могут включать в себя жилые уличные адреса. Система Skyhook не является общедоступной. Однако его технология используется в плагине AOL Instant Messenger (AIM) «Near Me».

Что такое базы данных Hotspot?

Тысячи беспроводных точек доступа доступны для общего пользования во всем мире. Существуют различные онлайн-базы данных для поиска горячих точек Wi-Fi, которые отображают местоположение точки доступа, включая его адрес. Эти системы хорошо работают для путешественников, ищущих доступ в Интернет. Тем не менее, поисковые роботы предоставляют только сетевое имя ( SSID ) точки доступа, а не его фактический IP-адрес.

Определение принадлежности адресов IPv4-сети

Может кто разбирается в этих IPv4, и сможет растолковать мне как это все работает..А то я ничего понять не могу, как найти эти адреса. Нужен только ход рассуждений, и понятное разъяснение решения данной задачи.

Маска сети для IPv4 адресации – это 4-х байтное число, которое делит IP адрес на адрес сети (первая часть) и адрес узла (вторая часть). Для части IP адреса, соответствующей адресу сети в маске сети содержатся двоичные единицы, а для части IP адреса, соответствующей адресу узла в маске сети содержаться двоичные нули. IP адрес, в котором в части адреса узла содержаться только двоичные нули – служебный адрес сети. IP адрес, в котором в части адреса узла содержаться только двоичные единицы – адрес ограниченного широковещания. Эти два адреса нельзя использоваться для адресации узлов.

Сеть с IPv4 адресацией задана одним из адресов, принадлежащих этой сети (192.168.3.17) и маской сети (255.255.192.0) . Определите, какие из перечисленных ниже адресов могут быть назначены устройствам в этой сети.

3 ответа 3

Хорошее объяснение, @pyatak, но некоторые вещи намного проще объяснять с точки зрения математики. В данном случае воспользуемся бинарной. Нас даже просто интересуют логические операции, а сами системы счисления не играют роли.

Понятное дело, что @Евгений536, может и не знать бинарных операций, но в таком случае я уж не знаю, какой смысл говорить о бинарном представлении маски (двоичных единицах и нулях), а так же пытаться постичь то, что построено на бинарной математике и логике.

Дело вот в чем: если хост принадлежит сети — рассчет диапазона адресов выполняется двумя логическими операциями and и or , с последней еще необходимо отрицание.

Итак, каждый октет (байт) IP-адреса соответствует октету (байту) маски, зная это, мы используем операцию and для каждого из октетов попарно

192 and 255 = 192

168 and 255 = 168

Как видно, мы получили новый адрес — адрес сети: 192.168.0.0 (т.е. это самый минимальный адрес нашего диапазона).

Дальше ничего сложного так же нету, нам нужен широковещательный адрес (самый максимальный адрес диапазона). Для этого, нам придется первым делом проинвертировать (от максимального числа, представимого 8ю битами (байтом) — 255, отнять число маски) байты маски. Итак,

192 or (!255 = 0) = 192

168 or (!255 = 0) = 168

3 or (!192 = 63) = 63

17 or (!0 = 255) = 255

Здесь мы получили наш широковещательный 192.168.63.255 адрес.

Таким образом получается, что все, что строго больше сети и строго меньше широковещательного адреса — входит в наш диапазон.

Можно поступить по-другому, применить операцию and поочередно ко всем данным вариантам ответов и сравнивать результаты с адресом сети. Т.к. все адреса, входящие в подсеть, должны иметь один и тот же адрес сети.

Ох не мучили вас в институте или не мучают.
Ну что ж смотри, мой юный падаван, дан хост с адресом 192.168.3.17 , и маска 255.255.192.0 , сказали еще что хост принадлежит сети.
Давай для начала переведем в человеко-формат.
Делаем вот что, все рассчитывают в двоичной системе а мы с тобой сделаем хак и через десятичную рассчитаем.
Берем с лева первый октет который не равен 255 , это октет номер 3 он равен 192 .
Именно он нам интересен.
256-192 = 64 , 64 это шаг, который поможет найти адрес сети.
Он еще не раз встретится в решении. Берем адрес который нам дали в задаче 192.168.3.17 , и смотрим на 3-ий октет, так как именно он нам интересен.
Берем число 64, и 3-ий октет — это 3. Так как 3 192.168.0.0 .
Если бы нам дали хост 192.168.73.17 , то адрес сети был бы 192.168.64.0 , а если 192.168.128.17 то 192.168.128.0 .
Понимаешь к чему я?
То есть, с шагом в 64 мы смотрим если число то ставим 64 , если больше то 64+64=128 и тоже самое с 128 .
Если больше 128 , то 128+64=192 и т.д.
Круто знаем адрес сети 192.168.0.0 .
Далее найдем broadcast-широковещательный адрес .
Это уже проще.
К 3 октету адреса сети прибавляем шаг, он у нас 64 .
Получаем 192.168.64.0 , дальше нужно просто от 64 отнять константу, она равна 1 , а последний октет заменить на 255 .
Получим 192.168.63.255 .
Это широковещательный адрес.
Все!
Получили диапазон от 192.168.0.0 до 192.168.63.255 .
Теперь смотрим какие адреса в него попадают, 192.168.3.255,192.168.33.0 .
Вообще конечно такие адреса фактически могут и не работать но касательно задачи это скорее всего будет правильным ответом.

Определения принадлежности адреса к сети

Никто не занимался проблемой определения входит или не входит IP в список сетей?

Если да подскажите как это сделать.

14.04.2010, 18:13

Программа определения принадлежности (x;y) треугольнику
Здравствуйте, не могли бы вы проверить правильность моей программы. Условие такое: Составить.

Программа определения принадлежности точки треугольнику
Написать программу определения принадлежности точки треугольнику Не получается написать программу.

Написать программу определения принадлежности точки
Написать программу определения принадлежности точки с координатами (x,y) части плоскости, лежащей.

Программа определения принадлежности точки треугольнику
Составить алгоритм определения принадлежности (x;y) внутренней части треугольника с заданными.

Класс определения признаков пересечения и принадлежности фигур
Нужно создать класс определения признаков пересечения и принадлежности фигур. Фигуры задаются.

14.04.2010, 19:25 2 15.04.2010, 06:44 3 15.04.2010, 09:34 4
15.04.2010, 09:34
15.04.2010, 10:28 5
15.04.2010, 12:21 [ТС] 6

Мне нужно для Украины. И такие спсиски в принципе ест ьи обновляются.
http://www.colocall.net/ua/ тут например.

Задача сводиться к расчету входит ли адрес в диапозон сети.

15.04.2010, 12:30 7
15.04.2010, 12:44 [ТС] 8
15.04.2010, 13:03 9

Есть такие полезные поисковые системы, например Яндекс, вводим ‘маска подсети’, получаем :

Что такое маска подсети?
Как известно, адрес IP состоит из 4 октетов и обычно представляется в формате 200.200.200.5. Однако, этот адрес сам по себе недостаточен и требуется маска подсети для того, чтобы показать, какая часть IP адреса является идентификатором сети (Network ID), а какая — идентификатором хоста (Host ID). Представьте Network ID как номер улицы, а Host ID — как номер дома. Тогда для ’54 Grove Street’, 54 будет идентификатором хоста (Host ID), а Grove Street — идентификатором сети (Network ID). Маска подсети показывает, какая часть IP адреса является Network ID, а какая — Host ID.

Например, для адреса 200.200.200.5, и маски подсети 255.255.255.0, Network ID будет 200.200.200, а Host ID — 5. Это вычисляется следующим образом:

IP Address 11001000 11001000 11001000 00000101
Subnet Mask 11111111 11111111 11111111 00000000
Network ID 11001000 11001000 11001000 00000000
Host ID 00000000 00000000 00000000 00000101

Результат получается побитным с AND между IP адресом и маской подсети, т.е.

1 AND 1=1
1 AND 0=0
0 AND 1=0
0 AND 0=0

В зависимости от класса IP адреса для масок подсети существуют значения по умолчанию:

Class A : 001.xxx.xxx.xxx до 126.xxx.xxx.xxx использует маску подсети 255.0.0.0 по умолчанию
Class B : 128.xxx.xxx.xxx до 191.xxx.xxx.xxx использует маску подсети 255.255.0.0 по умолчанию
Class C : 192.xxx.xxx.xxx до 224.xxx.xxx.xxx использует маску подсети 255.255.255.0 по умолчанию

А где 127.xxx.xxx.xxx . Это зарезервированный адрес, используемый для тестирования. Пинг 127.0.0.1 — это пинг самому себе :-)

Маска подсети используется при обмене между двумя хостами. Если оба хоста принадлежат одной сети, хост a непосредственно обращается к хосту b, однако, если хост b принадлежит другой сети, хост a будет обращаться через шлюз, и способ, которым хост a может сообщить о своей принадлежности данной сети — это использование маски подсети. Например

Хост A 200.200.200.5
Хост B 200.200.200.9
Хост C 200.200.199.6
Маска подсети 255.255.255.0

Предположим Хост A связывается с Хостом B, поскольку оба они имеют Network ID 200.200.200, то Хост A обращается к Хосту B непосредственно. Если же Хост A связывается с Хостом C, а они находятся в разных сетях: 200.200.200 и 200.200.199 соответственно, то Хост A будет посылать запрос через шлюз.

Илон Маск рекомендует:  Что такое код asp xml
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL