从终端获取IP地址的地理位置

关于从终端获取IP的地理位置

在下一篇文章中,我们将研究如何 获取我们的公共IP地址的地理位置。 我们将能够通过Ubuntu终端中的开放API和简单的bash脚本来执行此操作。 如今,所有连接到Internet的设备都具有IP,该IP已成为全世界的标识符。 此地址是我们将用来获取您的位置的地址。

当我们上网时, 每个服务器都有一个公共IP地址,它直接分配给服务器,也可以通过将网络流量发送到该服务器的路由器分配。 IP地址提供了一种轻松的方法来跟踪服务器在世界范围内的地理位置。 这可以通过使用以下提供的两个API来实现: ipinfo.io e ipvigilante.com 通过它我们可以获取服务器的国家,城市名称及其地理坐标。

获取您的公共或私有IP地址
相关文章:
在Gnu / Linux中获取您的公共或私有IP地址

在以下几行中,我们将看到 得到 IP的地理位置 从终端帮助我们卷曲和jq。 主要用途 卷曲 是自动执行文件传输或无监督的操作序列,而 jq 是一种非常高级的功能语言,支持JSON数据流的回溯和管理。

终端IP的地理位置

安装Curl和jq

要获取IP地址的地理位置,我们将必须 安装curl jq命令行工具 处理从地理位置API获得的JSON数据。 要同时安装两者,请在终端(Ctrl + Alt + T)中编写以下命令:

安装curl和jq

sudo apt install curl jq

获取服务器的公共IP地址

在获取位置之前,您需要 知道我们连接到的服务器的公共IP地址。 为此,我们将使用以下cURL命令,通过该命令发出请求 ipinfo.io 从终端(Ctrl + Alt + T)如下所示:

通过curl和ipinfo.io获得的公共ip

curl https://ipinfo.io/ip

借助API获取系统IP地理位置的数据

执行上一条命令后,我们将获得公共IP地址。 一旦有了它,我们将能够 向ipvigilante.com请求获取地理位置数据。 为此,我们将在终端中使用以下命令(Ctrl + Alt + T)。 重要的是用上一条命令获得的公共IP替换公共IP。

通过ipvigilante获得的IP的地理位置

curl https://ipvigilante.com/la-dirección-IP

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

为了使与API的通信过程自动化,我们将 在名为以下文件的文件中创建脚本 ipgeolocator.sh (名称是可选的)。 对于它的创建,我们将能够使用任何一个最舒适的命令行编辑器。

vim ipgeolocalizador.sh

当编辑器打开时,您只需要在内部 粘贴线 如下图所示:

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

粘贴后,您要做的就是保存文件并退出编辑器。 在此之后,有必要 使脚本可执行。 我们将通过在同一终端中编写代码来做到这一点:

chmod +x ipgeolocalizador.sh

在这一点上,我们可以 如下运行脚本以获取IP的地理位置 公众:

带有bash的IP的地理位置

./ipgeolocalizador.sh

上面的脚本显示城市和国家/地区名称以及近似的纬度和经度坐标。 事实是 我不知道它可能有的误差范围.

如果您不想将上述长命令保存在文件中, 您也可以直接在终端中运行相同的命令 (Ctrl + Alt + T):

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

在这篇简短的文章中,我们看到了 使用终端以及curl和jq命令从Ubuntu获取IP的地理位置。 您可以获取有关的更多信息 jq 或关于 卷曲 在其相应的Wikipedia文章中。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。