如何在终端中同时监控公共IP和位置(国家,州,城市)

mr_*_*zad 3 server networking internet ip

我正在尝试监控我的公共 IP 和位置。我找到了一些命令可以帮助我找到我的公共IP,但我找不到任何可以同时告诉我位置(国家、州、城市)的命令。任何人都可以告诉我如何在终端中同时监控它们。提前致谢。

eft*_*lex 5

ipinfo.io

\n\n

您可以尝试ipinfo.io在线服务。ipinfo.io提供基于 JSON 的地理定位 API。

\n\n

尝试这个 :

\n\n
curl ipinfo.io\n
Run Code Online (Sandbox Code Playgroud)\n\n

以下是返回的输出的示例:

\n\n
{\n  "ip": "84.215.115.185",\n  "hostname": "snf-86437.vm.okeanos.grnet.gr",\n  "city": "Athens",\n  "region": "Attiki",\n  "country": "GR",\n  "loc": "37.9833,23.7333",\n  "org": "AS5408 Greek Research and Technology Network S.A"\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

地理IP

\n\n

现在您可以安装 GeoIP,它是一个 C 库,可让您查找任何 IP 地址或主机名的来源国家/地区。它使用基于文件的数据库。

\n\n

首先,您需要安装

\n\n
\n

geoip-数据库-contrib

\n\n

此软件包包含一个脚本,用于下载四个 MaxMind GeoLite 数据库(国家/地区、IPv6 国家/地区、城市和 ASN)的二进制版本的最新版本。

\n
\n\n

执行此命令安装包

\n\n
sudo apt-get install geoip-database-contrib\n
Run Code Online (Sandbox Code Playgroud)\n\n

执行此命令后,它会安装一个 cron 作业来更新 GeoLite 数据库。它位于

\n\n
/etc/cron.d/geoip-database-contrib\n
Run Code Online (Sandbox Code Playgroud)\n\n

因此,由于这安装了所需的基于文件的数据库,如果我们想使用像 geoiplookup 这样的命令行工具,我们必须安装另一个包。该软件包称为 geoip-bin。执行

\n\n
sudo apt-get install geoip-bin\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在你可以执行命令了

\n\n
geoiplookup google.com\n
Run Code Online (Sandbox Code Playgroud)\n\n

以下是该工具返回的输出示例。

\n\n
GeoIP Country Edition: US, United States\nGeoIP City Edition, Rev 1: US, CA, Mountain View, 94043, 37.419201, -122.057404, 807, 650\nGeoIP City Edition, Rev 0: US, CA, Mountain View, 94043, 37.419201, -122.057404\nGeoIP ASNum Edition: AS15169 Google Inc.\n
Run Code Online (Sandbox Code Playgroud)\n\n

要使用服务器的 IP 类型执行此命令:

\n\n
geoiplookup $(curl ipv4.icanhazip.com)\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

笔记 :

\n\n

应该注意的是,您不拥有您的 IP 地址 \xe2\x80\x93,而您的 ISP 或服务提供商拥有该地址。因此,有关该 IP 地址的所有公共信息很可能仅涉及它们。

\n\n


\n来源

\n