Вы, наверное, заметили в Интернете различные сервисы, которые автоматически приблизительно знают, где вы находитесь в мире. От сервисов потоковой передачи музыки и видео до интернет-магазинов, эти сервисы используют метод, называемый IP-геолокацией, который сопоставляет ваше приблизительное физическое местоположение с используемым IP-адресом. Каждый раз, когда вы подключаетесь к Интернету, вашему устройству назначается IP-адрес из пула адресов, назначенных различным телекоммуникационным компаниям. Принцип работы этих адресов может быть довольно сложным, но, поскольку они назначаются блоками, можно создать базу данных, которая отображает блок адресов в страну или даже конкретную область или город.
Хорошая новость заключается в том, что поиск по геолокации предназначен не только для крупных корпоративных и мега-сайтов. Существует ряд бесплатных онлайн-сервисов и даже инструмент командной строки для Linux, который позволяет вам искать IP-адреса и получать информацию о том, где этот адрес назначен. Это может быть очень полезно, когда вы исследуете подозрительное электронное письмо или странные комментарии, оставленные в блоге. Это также полезно при использовании служб, которые маскируют ваш IP-адрес, например VPN, чтобы убедиться, что они работают так, как рекламируется.
Чтобы найти IP-адрес из командной строки Linux, вам необходимо установить инструмент "geoiplookup". Для Ubuntu и Raspbian используйте:
sudo apt- получить установку geoip-bin
Чтобы найти IP-адрес, введите следующее:
geoiplookup 8.8.4.4
Замените 8.8.4.4 адресом, который вы хотите найти. В этом примере адрес 8.8.4.4 (который является одним из DNS-серверов Google) правильно указан как адрес из США.
База данных, поставляемая с вашим дистрибутивом Linux, вероятно, устарела; вы можете проверить, когда он был создан, используя флаг -v
:
geoiplookup - v 8.8.4.4
В этом случае мы видим, что база данных была создана в августе 2013 года.
База данных геолокации предоставляется MaxMind, и компания обновляет свои базы данных каждый месяц. Вы можете обновить базу данных, загрузив самые свежие файлы прямо с MaxMind.com.
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gzgunzip GeoIP.dat.gzsudocp GeoIP.dat /usr/share/GeoIP/
Теперь вы можете снова запросить дату сборки в базе данных:
geoiplookup - v 8.8.4.4
Теперь инструмент сообщает, что база данных была создана в апреле 2014 года.
MaxMind также предоставляет базу данных City, которая во многих случаях дает большую точность. Чтобы установить его, используйте следующие команды, чтобы загрузить базу данных и скопировать ее в каталог GeoIP:
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gzgunzip GeoLiteCity.dat.gzsudocp GeoLiteCity.dat /usr/share/GeoIP/
Чтобы получить информацию о городе, вам нужно указать инструменту " geoiplookup
" использовать базу данных города:
geoiplookup -f/usr/share/GeoIP/GeoLiteCity.dat 71.3.9.242
На этот раз geoiplookup сообщает нам, что адрес находится во Флориде, а точнее в Саммерфилде, штат Флорида.
Интернет Сервис
Помимо инструмента geoiplookup, существует ряд онлайн-сервисов, которые могут предоставить информацию о геолокации. Например, если вы откроете geoiptool.com в своем веб-браузере, сайт предоставит вам информацию о вашем текущем местоположении.
Другой сайт freegeoip.net имеет API, который предназначен для использования в серверной части веб-сайтов или из приложений. Однако его также можно использовать из командной строки с помощью " curl
". Во-первых, убедитесь, что у вас установлен " curl
":
sudo apt- получить установку curl
Чтобы получить информацию о геолокации в формате XML, используйте:
curl freegeoip.net / xml / 72.4.9.242
Выходные данные XML показывают, что IP-адрес 72.4.9.242 используется в Эвансвилле, штат Индиана. Вы также можете получить те же данные в формате CSV или JSON, изменив часть "xml" URL-адреса на "csv" или "json" соответственно.
Инструмент geoiplookup и онлайн-сервисы могут быть очень полезными. Если у вас есть какие-либо вопросы об их использовании, задавайте их в разделе комментариев ниже.
7 комментариев
Комментарии закрыты.
Как отключить возможность сайта находить меня?
Привет,
Это хороший вопрос. Лучше всего использовать VPN, например foxyvpn.com, или пакет для обеспечения конфиденциальности, например hide-my-ip.com.
Гэри
Привет! Это сообщение не могло быть написано лучше! Чтение этого поста напоминает мне мой хороший fbadgcebedbefgek
Также проверьте http://ipinfo.io API, например:
$ curl ipinfo.io
{
"ip": "67.188.232.131",
"имя хоста": "c-67-188-232-131.hsd1.ca.comcast.net",
"город": "Маунтин-Вью",
"регион": "Калифорния",
"страна": "США",
"loc": "37.4192, -122.0574",
"Org": "AS7922 Comcast Cable Communications, Inc.",
"postal": "94043"
}
Бен, спасибо за указатель на ipinfo.io. Я рассматривал эту услугу, когда писал статью, но ipinfo.io ограничен скоростью до 1000 запросов API в день, тогда как freegeoip.net ограничен до 10 000 запросов в час, поэтому я выбрал последнее.
Или, скорее, чем делать это из командной строки, вы можете просто посетить: http://geoipinfo.org/. Используя вкладку интерактивной карты, вы также получите удобочитаемый ближайший почтовый адрес, связанный с запрошенным IP-адресом.
Привет всем! как мне найти несколько IP-адресов за раз. например, диапазон IP-адресов из журнала squid access.log, который нельзя сделать вручную. заранее большое спасибо