如何在终端中查找Linux服务器地理位置

本文介绍如何使用开放API和命令行中的简单bash脚本查找远程Linux系统的IP地址位置。

在本文中,我们将向您展示如何使用开放API和命令行中的简单bash脚本查找远程Linux系统的IP地址位置。

在互联网上,每个服务器都有一个面向公众的IP地址,该地址直接分配给服务器或通过路由器将网络流量发送到该服务器。

通过使用ipinfo.ioipvigilante.com提供的两个有用的API来获取与服务器连接的城市国家/地区 ,IP地址提供了一种跟踪世界中服务器位置的简便方法。

安装Curl和jq

要获取服务器的IP地址位置,我们需要安装curl命令行downloaderjq命令行工具来处理来自地理位置API的JSON数据。

$ sudo apt install curl jq		#Ubuntu/Debian
$ sudo yum install curl jq		#CentOS/RHEL
$ sudo dnf install curl jq		#Fedora 22+
$ sudo zypper install curl jq		#openSUSE
在Linux中安装Curl和JQ

在Linux中安装Curl和JQ

找到服务器的公共IP地址

要获取服务器的公共IP地址 ,请使用以下curl命令在终端中向ipinfo.io发出API请求,如图所示。

$ curl https://ipinfo.io/ip
获取Linux服务器IP地址

获取Linux服务器IP地址

从API获取IP位置数据

获得服务器公共IP地址后,您现在可以使用以下命令向ipvigilante.com的API发出请求以获取地理位置数据。 确保将<your ip address>替换为服务器的公共IP。

$ curl https://ipvigilante.com/<your ip address>
获取Linux IP地理位置

获取Linux IP地理位置

这是我们从上面的命令中获得的数据。

服务器位置细节

服务器位置细节

使用Bash脚本自动执行API调用

现在要自动执行API过程,我们将使用您喜欢的任何命令行编辑器创建一个名为getipgeoloc.sh的脚本(您可以将其命名为任何名称)。

$ vim getipgeoloc.sh

然后复制并粘贴以下long命令。

curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'

使用以下命令保存文件并使脚本可执行。

$ chmod +x getipgeoloc.sh

最后,运行脚本以获取Linux IP地理位置,如以下屏幕截图所示。

$ ./getipgeoloc.sh
查找Linux服务器地理位置

查找Linux服务器地理位置

上面的脚本显示了城市国家/地区名称以及近似的纬度经度坐标。

或者,您也可以运行上面的命令而不将其保存在脚本中,如图所示。

$ curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
获取Linux服务器位置详细信息

获取Linux服务器位置详细信息

您可能还想阅读以下相关文章:

  1. 在Linux终端中查找服务器公共IP地址的4种方法
  2. 找出所有实时主机在Linux网络上连接的IP地址
  3. 查找访问Apache Web服务器的前10个IP地址

这就是现在! 在这篇简短的文章中,我们展示了如何使用curljq命令从终端获取Linux IP地理位置。 与我们分享您的想法或通过下面的反馈表提出任何问题。