如何从命令行查找IP地址的地理位置

时间:2020-03-21 11:43:36  来源:igfitidea点击:

geoiplookup是一个命令行实用程序,可用于查找IP地址或者主机名所来自的国家/地区。
它使用GeoIP库和数据库来收集IP地址的详细信息。

本简要教程介绍了如何安装和使用geoiplookup实用程序在类似Unix的操作系统中查找IP地址的位置。

从命令行使用Geoiplookup查找IP地址的地理位置

安装Geoiplookup

大多数Linux操作系统的默认存储库中都提供Geoiplookup。

要将其安装在Arch Linux及其衍生版本上,请运行:

sudo pacman -S geoip

在Debian,Ubuntu和Linux Mint上:

sudo apt-get install geoip-bin

在RHEL,CentOS,Fedora和Scientific Linux上:

sudo yum install geoip

在SUSE/openSUSE上:

sudo zypper install geoip

用法

安装后,我们可以找到任何IP地址的地理位置,如下所示。

geoiplookup 80.60.233.195

上面的命令将以以下格式查找并显示80.60.233.195的来源国家/地区:

GeoIP Country Edition: NL, Netherlands

下载并更新Geoip数据库

通常,Geoip数据库的默认位置是/usr/share/GeoIP /。
数据库可能已过时。
我们可以从Maxmind下载包含更新的地理位置详细信息的最新数据库。
它是提供IP地址地理位置的。

转到geoip默认数据库文件夹:

cd /usr/share/GeoIP/

下载最新的数据库:

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
gunzip GeoIP.dat.gz

现在,运行geoiplookup命令以查找IP地址的最新地理位置详细信息。

geoiplookup 216.58.197.78

输出示例:

GeoIP Country Edition: US, United States

如我们在上面的输出中看到的,它仅显示国家/地区位置。
Geoiplookup甚至可以显示更多详细信息,例如州,城市,邮政编码,纬度和经度等。
为此,我们需要从Maxmind下载城市数据库,如下所示。
确保我们在/user/share/GeoIP /位置下载它。

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz

现在,运行以下命令以获取IP地址地理位置的更多详细信息。

geoiplookup -f /usr/share/GeoIP/GeoLiteCity.dat 216.58.197.78

输出示例为:

GeoIP City Edition, Rev 1: US, CA, California, Mountain View, 94043, 37.419201, -122.057404, 807, 650

如果我们已将数据库文件保存在默认位置以外的其他自定义位置,则可以使用'-d'参数指定路径。
举例来说,如果我们已将数据库文件保存在/home/sk/geoip /中,则查找IP地址地理位置的命令为:

geoiplookup -d /home/sk/geoip/216.58.197.78