Cách tìm vị trí máy chủ địa lý (IP) bằng cửa sổ dòng lệnh Terminal trên Debian 1

Tác giả NetworkEngineer, T.Tư 07, 2022, 10:04:51 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách tìm vị trí máy chủ địa lý (IP) bằng cửa sổ dòng lệnh Terminal trên Debian 11


Mỗi máy chủ có một địa chỉ IP công cộng được gán cho máy chủ trực tiếp thông qua một bộ định tuyến. Địa chỉ IP công cộng này có thể được sử dụng để xác định vị trí địa lý của máy chủ, bao gồm thông tin như lục địa, quốc gia và thậm chí cả vĩ độ và kinh độ ước tính của máy chủ.

Có nhiều tình huống mà bạn cần xác định vị trí địa lý của một máy Linux từ xa dựa trên địa chỉ IP của nó. Bạn có thể biết cách tìm vị trí địa lý của máy chủ thông qua trình duyệt web, nhưng hôm nay chúng ta sẽ xem cách tìm nó thông qua ứng dụng đầu cuối trong hệ điều hành Debian. Trong bài viết này, mình sẽ cho bạn biết cách tìm ra địa chỉ IP công cộng của hệ thống và sau đó truy xuất vị trí địa lý của nó bằng cách sử dụng hai API mở của   Đăng nhập để xem liên kết.

Thông tin vị trí địa lý có thể được sử dụng theo một số cách. Một số trường hợp sử dụng được liệt kê dưới đây:

  • An ninh mạng
  • Quảng cáo kỹ thuật số
  • Cá nhân hóa nội dung
  • Tiếp thị địa lý
  • Thực thi pháp luật

Mình đã chạy các lệnh và thủ tục được đề cập trong bài viết này trên Debian 11.

1. Hiển thị vị trí địa lý của địa chỉ IP trên cửa sổ dòng lệnh Terminal

Để tìm nạp vị trí địa lý của máy chủ của bạn, bạn sẽ cần trình tải xuống Curl và công cụ dòng lệnh JQ. Công cụ này sẽ cho phép bạn lấy và xử lý dữ liệu cần thiết từ các API định vị địa lý trên Internet. Vui lòng làm theo các bước sau để cài đặt các công cụ này và sau đó tìm nạp thông tin vị trí cần thiết bằng cách sử dụng IP công cộng của máy tính của bạn.

Bước 1: Cài đặt curl và jq

Khởi chạy cửa sổ dòng lệnh Terminal trong Hệ điều hành Debian của bạn. Để làm điều đó, hãy chuyển đến tab Activities ở góc trên cùng bên trái của màn hình. Sau đó, trong thanh tìm kiếm, nhập terminal. Khi biểu tượng Terminal xuất hiện, hãy nhấp vào nó để khởi chạy nó.

Chuyển sang tài khoản siêu người dùng trong Hệ điều hành Debian của bạn bằng cách sử dụng lệnh sau trong cửa sổ dòng lệnh Terminal, sau đó nhập mật khẩu cần thiết.

Mã nguồn [Chọn]
$ su
Sau đó chạy lệnh sau trong Terminal để cập nhật chỉ mục kho lưu trữ hệ thống của bạn:

Mã nguồn [Chọn]
$ apt-get update

Curl sẽ được sử dụng để thực hiện các yêu cầu HTTP và jq sẽ được sử dụng để xử lý dữ liệu JSON từ các API định vị địa lý. Curl và jq có sẵn trong kho Debian chính thức, vì vậy chúng ta có thể cài đặt nó bằng cách sử dụng lệnh apt-get trong Terminal.

Chạy lệnh sau trong Terminal để cài đặt curl và jq:

Mã nguồn [Chọn]
$ apt get insntall curl jq

Hệ thống sẽ cung cấp cho bạn tùy chọn Y/n để tiếp tục hoặc hủy quá trình cài đặt. Nhập Y và sau đó nhấn Enter. Sau đó, đợi một lúc cho đến khi quá trình cài đặt các công cụ trên hoàn tất.

Bước 2: Tìm IP công cộng của máy / máy chủ Debian

Để tìm dữ liệu vị trí địa lý của máy chủ, mình sẽ cần địa chỉ IP công khai của nó. Đây là địa chỉ được ISP gán cho máy chủ hoặc bộ định tuyến của bạn. Tất cả các máy chủ trên Internet đều được các địa chỉ IP này công nhận. Để tìm nạp địa chỉ IP Công cộng, mình sẽ sử dụng API do   Đăng nhập để xem liên kết cung cấp.

Chúng ta sẽ phải sử dụng lệnh curl để thực hiện lệnh gọi API tới   Đăng nhập để xem liên kết. Để làm như vậy, hãy mở Terminal và thực hiện lệnh sau:

Mã nguồn [Chọn]
$ curl https://ipinfo.io/ip

Đầu ra ở trên, (bị mờ ở đây do lo ngại về quyền riêng tư), là IP Công cộng của máy chủ mà nó được kết nối và công nhận trong thế giới Internet.

Bước 3: Nhận vị trí địa lý dựa trên IP công cộng.

Bây giờ mình đã có Địa chỉ IP công cộng của máy chủ, bây giờ mình sẽ thực hiện yêu cầu tới API của   Đăng nhập để xem liên kết để tìm nạp dữ liệu vị trí địa lý của máy chủ. mình sẽ sử dụng lệnh curl cho mục đích này. Nó sẽ tìm nạp các chi tiết sau:

  • Lục địa
  • Quốc gia
  • Bang / tỉnh
  • Thành phố
  • Vĩ độ và Kinh độ

Thực thi lệnh dưới đây trong Terminal để tìm nạp dữ liệu vị trí địa lý từ API của   Đăng nhập để xem liên kết bằng cách sử dụng curl:

Mã nguồn [Chọn]
$ curl https://ipinfo.io/<Public_IP>
Thay thế <Public_IP> bằng địa chỉ IP công cộng của bạn.

Các nhà cung cấp vị trí địa lý IP thay thế:

Mã nguồn [Chọn]
$ curl http://api.geoiplookup.net/?query=<Public_IP>
Mã nguồn [Chọn]
$ curl https://json.geoiplookup.io/<Public_IP>
Thay thế <Public_IP> bằng địa chỉ IP công cộng của bạn.

2. Sử dụng tập lệnh Bash để in vị trí địa lý

Mỗi lần, bạn phải kiểm tra vị trí địa lý của máy chủ của mình, bạn phải làm theo tất cả các bước được mô tả ở trên. Thay vì điều này, chúng ta có thể tự động hóa quá trình này bằng cách tạo một tập lệnh bash. Tập lệnh này sẽ cho phép tìm nạp vị trí địa lý của máy chủ của bạn bằng cách chỉ chạy một lệnh duy nhất. Làm theo các bước dưới đây để tạo một tập lệnh.

Mình có thể tạo kịch bản bằng bất kỳ trình soạn thảo văn bản nào. Đối với kịch bản hiện tại, mình đang sử dụng trình soạn thảo nano, vì vậy mình sẽ nhập nano theo sau là tên tập lệnh (đặt tên cho nó bất kỳ thứ gì bạn muốn).

Mã nguồn [Chọn]
$ nano geolocation.sh
Sau đó, sao chép và dán dòng sau bằng menu chuột phải.

Mã nguồn [Chọn]
$ curl -s https://ipinfo.io/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
Nhấn Ctrl + o để lưu tập lệnh và Ctrl + x để thoát

Bây giờ chúng ta sẽ thực thi tập lệnh trên bằng cách cấp quyền thực thi cho nó. Để làm như vậy, hãy chạy lệnh sau trong Terminal:

Mã nguồn [Chọn]
$ chmod +x geo_location.sh
Bây giờ mình đã sẵn sàng để kiểm tra tập lệnh. Chạy lệnh sau trong Terminal để chạy tập lệnh.

Mã nguồn [Chọn]
$ ./geo_location.sh

Từ đầu ra ở trên, bạn có thể thấy rằng tập lệnh đã in vĩ độ, kinh độ, thành phố và tên quốc gia của máy chủ vào Terminal.

Như vậy là bạn đã học cách tìm vị trí địa lý của máy chủ bằng Debian Terminal. Vị trí địa lý IP cung cấp thông tin hữu ích bao gồm tên quốc gia, thành phố, vĩ độ và kinh độ. Bạn có thể sử dụng thông tin này có thể được sử dụng theo một số cách như đã thảo luận ở trên trong bài viết.