如何在 Debian 11 上使用终端查找地理服务器位置 (IP)
每台服务器都有一个公共IP地址,该地址通过路由器直接分配给服务器。该公共IP地址可用于确定服务器的地理位置,其中包括大陆、国家、甚至服务器的估计纬度和经度等信息。
在很多情况下,您需要根据 IP 地址确定远程 Linux 计算机的地理位置。您可能知道如何通过网络浏览器找到服务器的地理位置,但今天我们将了解如何通过 Debian 操作系统中的终端应用程序找到它。在本文中,我们将告诉您如何查找系统的公共 IP 地址,然后使用 ipinfo.io 的两个开放 API 检索其地理位置。
地理位置信息可以通过多种方式使用。下面列出了一些用例:
- 网络安全
- 数字广告
- 内容个性化
- 地理营销
- 执法
我们在 Debian 11 上运行本文中提到的命令和过程。
在终端上显示 IP 地址的地理位置
为了获取服务器的地理位置,您将需要 Curl 下载器和 JQ 命令行工具。该工具可让您从 Internet 上的地理定位 API 获取并处理所需的数据。请按照以下步骤安装这些工具,然后使用计算机的公共 IP 获取所需的位置信息。
第1步:安装curl和jq
在 Debian 操作系统中启动终端。为此,请转到桌面左上角的活动选项卡。然后在搜索栏中输入terminal。当终端图标出现时,单击它来启动它。
在终端中使用以下命令切换到 Debian 操作系统中的超级用户帐户,然后输入所需的密码。
su
然后在终端中运行以下命令来更新系统的存储库索引:
apt-get update
Curl 将用于发出 HTTP 请求,jq 将用于处理来自地理位置 API 的 JSON 数据。 Curl 和 jq 在官方 Debian 存储库中可用,因此我们可以在终端中使用 apt-get 命令安装它。
在终端中运行以下命令来安装curl和jq:
apt get insntall curl jq
系统将为您提供是/n选项来继续或取消安装过程。输入Y,然后按 Enter 键。然后稍等片刻,直至上述工具安装完成。
第 2 步:查找 Debian 机器/服务器的公共 IP
要查找服务器的地理位置数据,我们需要其公共 IP 地址。它是 ISP 分配给您的服务器或路由器的地址。 Internet 上的所有服务器均由这些 IP 地址识别。为了获取公共IP地址,我们将使用ipinfo.io提供的API。
我们必须使用curl命令对ipinfo.io进行API调用。为此,请打开终端并执行以下命令:
curl https://ipinfo.io/ip
上面的输出(由于隐私问题,此处模糊)是服务器的公共 IP,通过它连接到互联网世界并在互联网世界中被识别。
步骤3:根据公网IP获取地理位置
现在我们已经获得了服务器的公共 IP 地址,现在我们将向 ipinfo.io API 发出请求以获取服务器的地理位置数据。为此,我们将使用curl命令。它将获取以下详细信息:
- 大陆
- 国家
- 州/省
- 城市
- 纬度和经度
在终端中执行以下命令,使用curl从ipinfo.io API获取地理位置数据:
curl https://ipinfo.io/<Public_IP>
将
替代 IP 地理位置提供商:
curl http://api.geoiplookup.net/?query=<Public_IP>
curl https://json.geoiplookup.io/<Public_IP>
将
使用 Bash 脚本打印地理位置
每次,您都必须检查服务器的地理位置,必须遵循上述所有步骤。我们可以通过创建 bash 脚本来自动化此过程。该脚本将允许通过仅运行单个命令来获取服务器的地理位置。请按照以下步骤创建脚本。
我们可以使用任何文本编辑器创建脚本。对于当前场景,我们使用 nano 编辑器,因此我们将键入 nano ,后跟脚本名称(将其命名为您想要的任何名称)。
nano geolocation.sh
然后使用右键单击菜单复制并粘贴以下行。
curl -s https://ipinfo.io/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
按 Ctrl+o 保存脚本,按 Ctrl+x 退出
现在我们通过授予可执行权限来使上面的脚本可执行。为此,请在终端中运行以下命令:
chmod +x geo_location.sh
现在我们准备测试脚本了。在终端中运行以下命令来运行脚本。
./geo_location.sh
从上面的输出中,您可以看到脚本已将服务器的纬度、经度、城市和国家/地区名称整齐地打印到终端。
现在就是这样!我们已经学习了如何使用 Debian 终端查找服务器的地理位置。 IP 地理位置提供有用的信息,包括国家名称、城市、纬度和经度。您可以通过本文上面讨论的多种方式使用此信息。