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

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

介绍

不久前,我们写了一篇文章,描述了如何使用命令行从命令行中找出您的地理位置 我在哪里 效用。 今天,我们将了解如何查找 IP 地址的地理位置。 当然,您可以从 Web 浏览器查看此详细信息。 但是,从命令行找到它要容易得多。

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

在 Linux 中安装 Geoiplookup

Geoiplookup 在大多数 Linux 操作系统的默认存储库中都可用。

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

$ sudo pacman -S geoip

在 Debian、Ubuntu、Linux Mint 上:

$ sudo apt-get install geoip-bin

在 RHEL、CentOS、 Fedora,科学Linux:

$ sudo yum install geoip

在 SUSE/openSUSE 上:

$ sudo zypper install geoip

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

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

$ geoiplookup 80.60.233.195

上述命令将查找并显示 80.60.233.195 的来源国家,格式如下:

GeoIP Country Edition: NL, Netherlands

下载免费电子书:“计算机网络概念”

下载和更新 Geoip 数据库

通常,Geoip 数据库的默认位置是 /usr/share/GeoIP/. 数据库可能有点过时了。 您可以从以下位置下载包含更新的地理位置详细信息的最新数据库 万能. 它是提供 IP 地址地理位置的网站。

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

$ cd /usr/share/GeoIP/

下载最新数据库:

$ wget https://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 下载城市数据库,如下所示。 确保你正在下载它 /usr/share/GeoIP/ 地点。

$ wget https://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 参数来指定路径。 说为 example如果您已将数据库文件保存在 /home/sk/geoip/,查找 IP 地址的地理位置的命令将是:

$ geoiplookup -d /home/sk/geoip/ 216.58.197.78

有关更多详细信息,请参见手册页。

$ man geoiplookup