Содержание

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

Автор поста: VPNHOOK

 

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

Можно ли узнать адрес человека по его ip (айпи)?

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

Номер квартиры человека по ip: правда или миф?

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

Все дело в том, что последовательность цифр IP-адреса кодирует, помимо прочего, и название города.

Как по ip адресу узнать месторасположение?

Всё относительно просто. Во-первых, нужно узнать сам IP-адрес. Если он у вас есть, то просто заходите на сервис определения интернет-адресов, например, на сервис whoer.net
По умолчанию сайт показывает информацию о данных компьютера, с которого вы посетили ресурс, но также можно проверить и абсолютно любой IP-адрес или web-домен.

Проверка нужного IP-адреса или сайта

Зайдите на сайт whoer.net и перейдете в раздел Whois. Введите запрашиваемые данные и нажмите на кнопку «Проверить».

Результаты проверки IP-адреса на месторасположение

Местоположение сетевого устройства показывается сразу под IP.

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

Информация обновилась и в разделе «Местоположение» появились данные о городе, индексе и даже о провайдере!
Таким образом, узнать город по ip совершенно точно можно, но вот решить проблему, как по ip определить адрес, пока не удаётся ни одному сервису. Тем не менее мы уверены, что такое будущее не за горами. Всё, что для этого требуется, внесение в реестр точных данных об используемых провайдерами диапазонами IP-адресов для закрепленных территориальных районов городов.

Как сделать так, чтобы вас не могли определить по IP-адресу?

И если такие данные появятся, то найти человека по IP станет реальностью, а не мемом. Поэтому рекомендуем уже сейчас позаботиться о своей интернет-безопасности.
Сделать это можно с помощью VPN от Whoer.Net. Одним из основных преимуществ сервиса является его полная анонимность – например, сторонние сервисы не определяют использование VPN.

Заключение

Еще раз: чтобы определить адрес по ip (айпи), вовсе не нужны обширные теоретические знания, можно просто воспользоваться сервисом whoer.

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

Вот, к примеру, это видео от whoer.net показывает за 2 минуты, как узнать местоположение по ip:

Как узнать географическое расположение по IP адресу из командной строки — The Codeby

Если вы хотите выяснить где физически на земле размещён определённый IP адрес (или веб-сайт), вы можете попробовать несколько онлайн поисковых служб GeoIP (например, geoiptool.com). Эти онлайн службы, в основном, работают на доступной бесплатно базе данных GeoIP, вроде такой как MaxMind. Кроме использования таких веб служб, есть другие способы сделать запрос к GeoIP базе данных, в особенности через командную строку Linux.

В этой инструкции я собираюсь описать, как найти расположение IP адреса из командной строки в Linux.

Первый метод


Первый метод — это использование инструмента geoiplookup, который является клиентом командной строки для GeoIP базы данных от MaxMind. geoiplookup позволяет посмотреть географическую или сетевую информации по IP адресу (или имени хоста). Вы можете установить этот инструмент (вместе с бесплатной базой данных GeoIP, использующей этот инструмент) как показано ниже.

Для установки geoiplookup в Debian, Ubuntu или Linux Mint:

$ sudo apt-get install geoip-bin

Для установки geoiplookup в Fedora:

$ sudo yum install geoip

Для установки geoiplookup в CentOS, во-первых включите репозиторий EPEL, а затем используйте yum команду:

$ sudo yum install geoip

По умолчанию, с установкой geoiplookup устанавливается файл базы данных GeoIP.dat, который размещён в /usr/share/GeoIP.

С этой базой данных вы можете узнать информацию только о стране.

$ geoiplookup 27.145.177.75
GeoIP Country Edition: TH, Thailand

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

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

$ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
$ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
$ wget http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum. dat.gz
$ gunzip GeoIP.dat.gz
$ gunzip GeoIPASNum.dat.gz
$ gunzip GeoLiteCity.dat.gz
$ sudo cp GeoIP.dat GeoIPASNum.dat GeoLiteCity.dat /usr/share/GeoIP/

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

$ geoiplookup 27.145.177.75
GeoIP Country Edition: TH, Thailand
GeoIP ASNum Edition: AS17552 True Internet Co.,Ltd.

Когда запускаете без каких либо параметров, инструмент geoiplookup автоматически использует только GeoIP.dat и GeoIPASNum.dat, но не использует GeoLiteCity.dat. Последняя может дать вам информацию о городе.

Для получения информации о городе, явно скажите geoiplookup использовать базу данных GeoLiteCity.dat.

$ geoiplookup -f /usr/share/GeoIP/GeoLiteCity.dat 27.145.177.75
GeoIP City Edition, Rev 1: TH, N/A, N/A, N/A, N/A, 13.750000, 100.466698, 0, 0

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

Второй метод


Если вы не хотите хлопот с установкой и обновлением баз данных GeoIP, вы можете попробовать онлайн сервис ipinfo.io. В отличие от других сервисов, ipinfo.io обеспечивает геолокационные API, основанные на JSON, поэтому вы можете с лёгкостью осуществить геолокацию из командной строки, используя инструмент вроде curl.

$ curl ipinfo.io/27.145.177.75

Обратите внимание, что доступ к их API ограничен 1,000 API запросами в день.

Дополнение


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

whois 27. 145.177.75

Если ещё не установлена, то выполните

sudo apt-get install whois

И ещё один из читателей придумал графический интерфейс:

#!/bin/bash
IP=`/usr/bin/zenity --entry 
--width=300 
--title="Нахождение адреса по IP" 
--text="Пожалуйста, введите IP:"`
if [ $? -eq 1 ];
then
exit -1
fi
curl ipinfo.io/${IP} | zenity --text-info --width 530 --height 350

Геолокация — получение IP-адреса для местоположения — REST API (Azure Maps)

Твиттер LinkedIn Фейсбук Эл. адрес

  • Артикул
Служба:
Карты
Версия API:
1,0

Применимо к: см. ценовые категории.

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

 GET https://atlas.microsoft.com/geolocation/ip/json?api-version=1.0&ip={ip} 

Параметры URI

Имя В Обязательно Тип Описание

формат

путь Истинный
  • Json Формат

Желаемый формат ответа. Только 9Поддерживается формат 0062 json .

API-версия

запрос Истинный
  • нить

Номер версии API Azure Maps.

ip

запрос Истинный
  • нить

IP-адрес. Разрешены как IPv4, так и IPv6.

Имя Обязательно Тип Описание
x-ms-идентификатор клиента
  • нить

Указывает, какая учетная запись предназначена для использования в сочетании с моделью безопасности Azure AD. Он представляет собой уникальный идентификатор учетной записи Azure Maps и может быть получен из API учетной записи плоскости управления Azure Maps. Инструкции по использованию безопасности Azure AD в Azure Maps см. в следующих статьях.

Ответы

Имя Тип Описание
200 ОК
  • IP Адрес ToLocation Результат

ОК

Другие коды состояния
  • Ошибка Ответ

Произошла непредвиденная ошибка.

Безопасность

AADToken

Это потоки OAuth3 Azure Active Directory. В сочетании с управлением доступом на основе ролей Azure его можно использовать для управления доступом к REST API Azure Maps. Элементы управления доступом на основе ролей Azure используются для назначения доступа к одной или нескольким учетным записям ресурсов Azure Maps или вложенным ресурсам. Любому пользователю, группе или субъекту-службе можно предоставить доступ через встроенную роль или настраиваемую роль, состоящую из одного или нескольких разрешений для API REST Azure Maps.

Для реализации сценариев рекомендуется просмотреть концепции проверки подлинности. Таким образом, это определение безопасности предоставляет решение для моделирования приложений с помощью объектов, способных управлять доступом к определенным API и областям.

Примечания
  • Это определение безопасности требует использования заголовка x-ms-client-id , чтобы указать, к какому ресурсу Azure Maps приложение запрашивает доступ. Это можно получить с помощью API управления Картами.

URL-адрес авторизации относится к экземпляру общедоступного облака Azure. Суверенные облака имеют уникальные URL-адреса авторизации и конфигурации Azure Active Directory. * Управление доступом на основе ролей Azure настраивается из плоскости управления Azure через портал Azure, PowerShell, CLI, Azure SDK или REST API. * Использование веб-пакета SDK для Azure Maps позволяет настроить приложение на основе конфигурации для нескольких вариантов использования.

  • В настоящее время Azure Active Directory версии 1.0 или 2.0 поддерживает рабочие, учебные и гостевые учетные записи, но не поддерживает личные учетные записи.

Тип: oauth3
Поток: неявный URL-адрес авторизации
: https://login.microsoftonline.com/common/oauth3/authorize

Области
Имя Описание
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

ключ подписки

Это общий ключ, который предоставляется при создании учетной записи Azure Maps на портале Azure или с помощью PowerShell, CLI, Azure SDK или REST API.

С помощью этого ключа любое приложение может получить доступ ко всему REST API. Другими словами, этот ключ можно использовать в качестве главного ключа в учетной записи, в которой он выдан.

Для общедоступных приложений мы рекомендуем использовать подход конфиденциальных клиентских приложений для доступа к REST API Azure Maps, чтобы ваш ключ надежно хранится.

Тип: APIKey
В: query

Токен SAS

Этот токен подписи общего доступа создается из операции List SAS в ресурсе Azure Maps через плоскость управления Azure через портал Azure, PowerShell, CLI, Azure SDK или REST API.

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

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

Тип: APIKey
В: заголовок

Примеры

Успешное получение кода страны из IP-адреса

Образец запроса
  • HTTP
 ПОЛУЧИТЬ https://atlas.microsoft.com/geolocation/ip/json?api-version=1.0&ip=2001:4898:80e8:b::189
 
Пример ответа
Код состояния:
200
 {
  "странаРегион": {
    "изокод": "США"
  },
  "IP-адрес": "2001:4898:80e8:b::189"
} 

Определения

Страна Регион

Объект, содержащий информацию о стране/регионе.

Ошибка Дополнительная информация

Ошибка управления ресурсами дополнительная информация.

Ошибка Деталь

Сведения об ошибке.

Ошибка Ответ

Ответ об ошибке

IP Адрес ToLocation Результат

Этот объект возвращается после успешного вызова IP-адреса в API страны/региона

Json Формат

Желаемый формат ответа. Только 9Поддерживается формат 0062 json .

CountryRegion

Объект, содержащий информацию о стране/регионе.

Имя Тип Описание
изокод
  • нить

Двухзначный код IP-адреса (ISO 3166-1) страны или региона. Обратите внимание, что IP-адреса в диапазонах, зарезервированных для специальных целей, вернут Null для страны/региона.

ErrorAdditionalInfo

Дополнительная информация об ошибке управления ресурсами.

Имя Тип Описание
Информация
  • объект

Дополнительная информация.

тип
  • нить

Тип дополнительной информации.

ErrorDetail

Детали ошибки.

Имя Тип Описание
Дополнительная информация
  • Ошибка Дополнительная информация []

Ошибка доп. инф.

код
  • нить

Код ошибки.

Детали
  • Ошибка Деталь []

Детали ошибки.

сообщение
  • нить

Сообщение об ошибке.

цель
  • нить

Цель ошибки.

ErrorResponse

Ответ об ошибке

Имя Тип Описание
ошибка
  • Ошибка Деталь

Объект ошибки.

IpAddressToLocationResult

Этот объект возвращается после успешного вызова IP-адреса в API страны/региона

Имя Тип Описание
странарегион
  • Страна Регион

Объект, содержащий информацию о стране/регионе.

айпи адрес
  • нить

IP-адрес запроса.

JsonFormat

Желаемый формат ответа. Поддерживается только формат json .

Имя Тип Описание
json
  • нить

Формат обмена данными нотации объектов JavaScript

Отслеживание местоположения пользователя по IP-адресу с помощью Google API | Таной Бозе

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

(Редактировать : я удивлен реакцией и интересом многих людей к этой настоящей небольшой статье, которая была подмножеством более крупной исследовательской цели. Изначально я написал эту статью только с мыслью о документировании моего мыслительного процесса и если бы я мог получить некоторое представление от коллег по некоторой дополнительной информации, на которую я мог бы взглянуть.Но я рад всем вопросам, которые у меня есть, и я отредактировал статью, чтобы сделать ее немного более проницательной, с большим количеством скриншотов и более глубоким объяснением. Спасибо участникам r/privacy и admax88 из r/netsec. Пожалуйста, не стесняйтесь критически комментировать.)

Часть исследовательской работы, вдохновленной работой Брайана С. и дискуссиями со Смитом Гонсалвесом.

Обратите внимание, я уже сообщал об этом команде безопасности Google как о проблеме с конфиденциальностью, но они закрыли это как «функцию», так что получайте удовольствие от этой функции. Я также выступил с кратким докладом об этом на 36C3.

«IP-адрес (сокращение от адреса интернет-протокола) используется для идентификации компьютеров в Интернете. Это работает так же, как обратный адрес на почтовом отправлении. Когда ваш компьютер или устройство отправляет запрос, например поиск в Google, он помечает запрос вашим IP-адресом. Вы можете узнать примерное местоположение устройства по его IP-адресу».

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

Для этой статьи я готов скомпрометировать свое «приблизительное местонахождение» ( edit: , которые полностью отличаются от местоположения провайдера, больше соответствуют моей текущей геолокации, которая видна на скриншотах ниже) из столовой, потому что вы все равно можете получить эту информацию. Спасибо Google 🙂

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

Был еще один провайдер определения местоположения GeoIP, который предоставил несколько иную информацию.

Трассировка местоположения ipapiipapi. ) в столовой
  • Компьютер 1, на котором разрешены службы определения местоположения
  • Компьютер 2, на котором службы определения местоположения запрещены
  • Компьютер 1: службы определения местоположения включены

    Теперь давайте посмотрим, что делает Google. Сначала мы включаем нашу геолокацию (когда службы определения местоположения разрешены) в нашем браузере и пишем быстрый javascript для получения геолокации.

    Местоположение из служб определения местоположения разрешено

    Это «гео-местоположение», полученное непосредственно из браузера GeoLocation API, может показать вам, насколько оно близко к моему исходному местоположению (обратите внимание, идентифицированное местоположение по-прежнему не находится в круге)

    Отслеживание местоположения из служб определения местоположения включено Карта Google

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

    Местоположение с помощью разрешенных служб определения местоположенияОтслеживание местоположения с помощью разрешенных служб определения местоположения на Картах Google

    Но подождите. Для этого у меня в основном были «разрешены» мои службы определения местоположения. Я стал еще одним fs0c131y , который сообщает такого рода информацию. К счастью, нет! (Уф! Атака ниже пояса. #ForTehLulz)

    Во время этого я заметил, что когда я открывал карты Google с отключенным «разрешить местоположение», он автоматически фокусировался на регионе, где я сейчас проживаю.

    Компьютер 2: службы определения местоположения отключены в режиме инкогнито

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

    Вот тут-то во время обсуждения со Смитом и пригодилась идея заглянуть в Google API. Продолжая исследования, я наткнулся на этот интересный API в Google API https://developers. google.com/maps/documentation/geolocation/intro

    Краткие заметки из документов по геолокации:
    а. Либо передайте ему данные Wi-Fi или Cell Tower, либо API вернет ответ на основе вашего IP-адреса
    b. API отвечает с местоположением и точностью, которую мобильный клиент может обнаружить
    c. Ответ: {«широта»:»», «долгота»:»», «точность»:»»}

    Чтобы запросить эту информацию из GoogleAPI, вам необходимо отправить почтовый запрос со своего компьютера. Однако IP-адрес берется непосредственно из системы, с которой было установлено соединение, а не как входная переменная. Следовательно, мы создаем POC с помощью XMLHttpRequest.

    Целью XMLHTTPRequest является запрос GoogleAPI Geolocate с запросом от компьютера-жертвы и получение информации о широте, долготе и точности ответа. Затем это можно было разместить на веб-странице, и любой, кто посещал эту веб-страницу, автоматически сообщал мне свои координаты местоположения.

    Запрос GoogleApis с помощью XMLHttpRequest

    Интересно, что точность показывает 2,1 км. Однако после того, как я поместил его на карту, я обнаружил, что это место находится через дорогу от того места, где я сидел!

    Отслеживание местоположения с помощью служб определения местоположения запрещено на карте Google

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

    Флаг: Подпишитесь на меня в Твиттере. ржунимагу; https://shellcoder.000webhostapp.com

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

    Проверка захвата сервера

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

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

    Примечание:

    Еще одна область, которую можно изучить, — использование разбора скриптов конечной точки пользователя. Например, я внедрил javascript в HTML и загрузил его на html2pdf.com только для того, чтобы получить местоположение сервера на моем сервере и БАМ!

    html2pdf.com

    (Расположение, компрометирующее SSRF! Однако это, очевидно, не проблема безопасности. Возможно, это проблема конфиденциальности сервера, во что я не верю в данном случае.)

    Вы не можете бороться с влиянием Google на вашу жизнь. Если вы не используете такие средства защиты, как VPN, вы в основном очень смелы в современном Интернете. Все собирают ваши данные.

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

    Самое близкое, что я отследил, к местам, где точность , упомянутая , снизилась до 700-800 метров, в то время как местоположение было примерно в квартале. При тестировании из других мест иногда 9Точность 0621 была упомянута как 2 км, но GeoLocation показала расположение здания рядом с моим местоположением.

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

    Вот несколько шагов, которые могут помочь в этом конкретном случае:

    1. Использовать виртуальную частную сеть (Поддельный IP-адрес приведет к тому, что Google предоставит информацию о местоположении поддельного IP-адреса или того, что он хранит для него)
    2. Подача неверной информации в Google (Поддельный GPS) . Когда я был на 36C3, перед конференцией IP-адрес определил точную геолокацию с помощью GoogleAPI. Это произошло потому, что люди в этом районе в основном делились своими координатами местоположения с Google при использовании Wi-Fi.