如何在终端中查找 Linux 服务器的地理位置
在本文中,我们将向您展示如何使用开放 API 和简单的命令行 bash 脚本来发现远程 Linux 系统的 IP 地址地理位置。
在互联网上,每台服务器都有一个面向公众的 IP 地址,该地址直接添加到服务器或通过将网络流量发送到该服务器的路由器添加。
IP 地址提供了一种简单的方法来跟踪服务器在世界上的位置,使用 ipinfo.io 和 ipvigilante.com 提供的两个有用的 API 让城市、州和国家连接到服务器。
包括 Curl 和 jq
为了获取服务器的IP地址地理位置,我们需要安装curl命令行下载器和jq命令行工具来处理来自地理位置API的JSON数据。
$ sudo apt install curl jq #Ubuntu/Debian$ sudo yum install curl jq #CentOS/RHEL$ sudo dnf 安装curl jq #Fedora 22+$ sudo zypper 安装curl jq #openSUSE
查找服务器的公共IP地址
获取curl命令以在终端中向ipinfo.io发出API请求,如图所示。
$curl https://ipinfo.io/ip
从 API 获取 IP 位置信息
获得服务器的公共 IP 地址后,您现在可以使用以下命令向 ipvigilante.com 的 API 发出请求以检索地理位置数据。确保替换服务器的公共IP
。
$curl https://ipvigilante.com/<您的 IP 地址>
这是我们从上面的命令得到的数据。
使用 Bash 脚本自动化 API 调用
现在,为了自动化 API 处理,我们将getipgeoloc.sh
使用您最喜欢的任何命令行编辑器创建一个名为(您可以随意命名)的脚本。
$ vim getgeoloc.sh
然后复制并粘贴以下长命令。
卷曲-s https://ipvigilante.com/$(卷曲-s https://ipinfo.io/ip) | jq '.data.纬度,.data.经度,.data.城市名称,.data.国家名称'
保存文件并使用以下命令启用脚本。
$chmod +x getipgeoloc.sh
最后,运行脚本来检查您的 Linux IP 的地理位置,如下面的屏幕截图所示。
$ ./getpgeoloc.sh
上面的文字显示了城市和国家的名称以及纬度和经度的大致坐标。
或者,您也可以运行上述命令,而不将其保存在脚本中,如图所示。
$curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.纬度,.data.经度,.data.城市名称,.data.国家名称'
您还可以阅读这些相关文章:
- 的
在 Linux 终端中查找服务器公共 IP 地址的 4 种方法
在 Linux 中查找与网络关联的所有活动主机 IP 地址
查找指定您的 Apache Web 服务的前 10 个 IP 地址
现在就是这样!在这篇简短的文章中,我们展示了如何使用curl和jq命令从终端获取Linux IP地理位置。与我们分享您的想法或通过下面的评论表提出任何问题。