從終端獲取IP地址的地理位置

關於從終端獲取IP的地理位置

在下一篇文章中,我們將研究如何 獲取我們的公共IP地址的地理位置。 我們將能夠通過開放的API和簡單的bash腳本來做到這一點,所有這些都來自Ubuntu終端。 如今,所有連接到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. 權利:您可以隨時限制,恢復和刪除您的信息。