Nhận vị trí địa lý của địa chỉ IP từ thiết bị đầu cuối

về việc lấy vị trí địa lý của một IP từ thiết bị đầu cuối

Trong phần tiếp theo, chúng ta sẽ xem xét cách chúng ta có thể lấy vị trí địa lý của địa chỉ IP công cộng của chúng tôi. Chúng tôi sẽ có thể thực hiện việc này thông qua các API mở và một tập lệnh bash đơn giản, tất cả đều từ thiết bị đầu cuối Ubuntu. Ngày nay, tất cả các thiết bị được kết nối với Internet đều có IP, đây là mã định danh của chúng với thế giới. Địa chỉ này là địa chỉ chúng tôi sẽ sử dụng để lấy vị trí của bạn.

Khi chúng ta lướt Internet, mỗi máy chủ có một địa chỉ IP công cộng, điều này được gán trực tiếp cho máy chủ hoặc thông qua một bộ định tuyến gửi lưu lượng mạng đến máy chủ đó. Địa chỉ IP cung cấp một cách dễ dàng để theo dõi vị trí địa lý của máy chủ trên thế giới. Điều này có thể đạt được bằng cách sử dụng hai API được cung cấp bởi ipinfo.io e ipvigilante.com mà chúng tôi sẽ có thể có được quốc gia của máy chủ, tên của thành phố và tọa độ địa lý của nó.

lấy địa chỉ IP công cộng hoặc riêng tư của bạn
Bài viết liên quan:
Nhận địa chỉ IP công khai hoặc riêng tư của bạn trong Gnu / Linux

Trong những dòng tiếp theo, chúng ta sẽ xem cách nhận được vị trí địa lý của một IP từ thiết bị đầu cuối giúp chúng tôi với curl và jq. Mục đích chính và sử dụng cho cURL là tự động hóa việc truyền tệp hoặc chuỗi hoạt động không được giám sát, trong khi jq là một ngôn ngữ chức năng cấp rất cao với hỗ trợ theo dõi ngược và quản lý các luồng dữ liệu JSON.

Vị trí địa lý của một IP từ thiết bị đầu cuối

Cài đặt Curl và jq

Để có được vị trí địa lý của địa chỉ IP, chúng tôi sẽ phải cài đặt cuộn công cụ dòng lệnh jq để xử lý dữ liệu JSON thu được từ các API vị trí địa lý. Để cài đặt cả hai, trong một terminal (Ctrl + Alt + T), bạn sẽ phải viết lệnh:

cài đặt curl và jq

sudo apt install curl jq

Lấy địa chỉ IP công cộng của máy chủ

Trước khi xác định được vị trí, bạn cần phải biết địa chỉ IP công cộng của máy chủ mà chúng tôi kết nối. Đối với điều này, chúng tôi sẽ sử dụng lệnh cURL sau đây mà chúng tôi sẽ đưa ra yêu cầu ipinfo.io từ thiết bị đầu cuối (Ctrl + Alt + T) như hình dưới đây:

ip công khai thu được với curl và ipinfo.io

curl https://ipinfo.io/ip

Lấy dữ liệu về vị trí địa lý của IP trong hệ thống của bạn nhờ API

Sau khi thực hiện lệnh trước đó, chúng ta sẽ có được địa chỉ IP công cộng. Một khi chúng tôi có nó, chúng tôi sẽ có thể yêu cầu ipvigilante.com lấy dữ liệu vị trí địa lý. Đối với điều này, chúng tôi sẽ sử dụng lệnh sau trong terminal (Ctrl + Alt + T). Điều quan trọng là thay thế IP công cộng bằng IP có được bằng lệnh trước đó.

vị trí địa lý của một IP thu được bằng ipvigilante

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

Tự động hóa lệnh gọi API bằng Bash Script

Để tự động hóa quy trình giao tiếp với API, chúng ta sẽ tạo một tập lệnh bên trong một tệp có tên là ipgeolocator.sh (tên là tùy chọn). Để tạo ra nó, chúng tôi sẽ có thể sử dụng bất kỳ trình soạn thảo nào cho dòng lệnh mà mỗi người cảm thấy thoải mái nhất.

vim ipgeolocalizador.sh

Khi trình chỉnh sửa mở ra, bên trong bạn chỉ cần dán dòng hiển thị bên dưới:

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

Sau khi được dán, tất cả những gì còn lại là lưu tệp và thoát khỏi trình chỉnh sửa. Sau đó, nó sẽ là cần thiết làm cho tập lệnh có thể thực thi được. Chúng tôi sẽ làm điều này bằng cách viết trong cùng một thiết bị đầu cuối:

chmod +x ipgeolocalizador.sh

Tại thời điểm này, chúng ta có thể chạy tập lệnh như sau để lấy vị trí địa lý của IP công khai:

vị trí địa lý của một IP với bash

./ipgeolocalizador.sh

Tập lệnh trên hiển thị tên thành phố và quốc gia cùng với tọa độ kinh độ và vĩ độ gần đúng. Đó là sự thực Tôi không biết biên độ lỗi mà nó có thể mắc phải.

Nếu bạn không muốn lưu lệnh dài ở trên bên trong tệp, bạn cũng có thể chạy lệnh tương tự trực tiếp trong thiết bị đầu cuối (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'

Trong bài viết ngắn này, chúng ta đã thấy cách nhận vị trí địa lý của một IP từ Ubuntu bằng cách sử dụng terminal và các lệnh curl và jq. Bạn có thể biết thêm thông tin về jq hoặc về cURL trong các bài viết Wikipedia tương ứng của họ.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.