Определить, узнать месторасположение по IP адресу
Автор поста: VPNHOOK
IP-адрес, или адрес интернет-протокола – вещь настолько универсальная, что позволяет делать то, о чем многие даже не догадываются. IP-адрес – это адрес компьютера в сети, созданной на базе протокола IP. Интернет устроен так, что без IP-адреса компьютер работать не сможет, и потому каждому компьютеру присваивается собственный уникальный адрес. В четвертой версии протокола IP (IPv4) этот адрес состоит из четырех групп цифр, в более новой шестой (IPv6) – из восьми групп букв и цифр.
Можно ли узнать адрес человека по его ip (айпи)?
Конечно, можно, ведь за такой невыразительной группой цифр, как, скажем, 31.184.3.18, на самом деле скрывается очень многое, например, точное географическое месторасположение. Зная 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.
Вот, к примеру, это видео от 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
Имя | В | Обязательно | Тип | Описание |
---|---|---|---|---|
формат | путь | Истинный |
| Желаемый формат ответа. Только 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 ОК |
| ОК |
Другие коды состояния |
| Произошла непредвиденная ошибка. |
Безопасность
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 | Этот объект возвращается после успешного вызова 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: службы определения местоположения включены
Теперь давайте посмотрим, что делает 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, этого достаточно, чтобы не рассматривать это как проблему конфиденциальности, если не будет определена точная точность.
Вот несколько шагов, которые могут помочь в этом конкретном случае:
- Использовать виртуальную частную сеть (Поддельный IP-адрес приведет к тому, что Google предоставит информацию о местоположении поддельного IP-адреса или того, что он хранит для него)
- Подача неверной информации в Google (Поддельный GPS) . Когда я был на 36C3, перед конференцией IP-адрес определил точную геолокацию с помощью GoogleAPI. Это произошло потому, что люди в этом районе в основном делились своими координатами местоположения с Google при использовании Wi-Fi.