터미널에서 리눅스 서버 지리적 위치를 찾는 방법


이 기사에서는 명령 줄에서 공개 API 및 간단한 bash 스크립트 를 사용하여 원격 Linux 시스템의 IP 주소 지리적 위치를 찾는 방법을 보여줍니다.

인터넷에서 각 서버는 공용 IP 주소를 가지며이 주소는 서버에 직접 할당되거나 해당 서버로 네트워크 트래픽을 보내는 라우터를 통해 할당됩니다.

IP 주소를 사용하면 ipinfo.io ipvigilante.com 에서 제공하는 두 가지 유용한 API를 사용하여 세계에서 서버의 위치를 ​​쉽게 추적 할 수 있습니다. 도시 , 국가 를 선택할 수 있습니다.

Curl 및 jq 설치

서버의 IP 주소 지리적 위치를 얻으려면 geolocation API에서 JSON 데이터를 처리하기 위해 curl 명령 줄 다운로더와 jq 명령 줄 도구를 설치해야합니다.

$ sudo apt install curl jq		#Ubuntu/Debian
$ sudo yum install curl jq		#CentOS/RHEL
$ sudo dnf install curl jq		#Fedora 22+
$ sudo zypper install curl jq		#openSUSE

서버의 공용 IP 주소 찾기

서버의 공용 IP 주소를 얻으려면 다음 curl 명령을 사용하여 그림과 같이 터미널의 ipinfo.io 에 API 요청을하십시오.

$ curl https://ipinfo.io/ip

API에서 IP 위치 데이터 가져 오기

서버 공용 IP 주소를 얻으면 이제 ipvigilante.com 의 API에 요청하여 다음 명령을 사용하여 Geolocation 데이터를 가져올 수 있습니다. & lt; your ip address & gt; 를 서버의 공용 IP로 바꾸십시오.

$ curl https://ipvigilante.com/<your ip address>

이것은 위 명령에서 얻은 데이터입니다.

Bash 스크립트를 사용하여 API 호출 자동화

이제 API 프로세스를 자동화하기 위해 원하는 명령 줄 편집기를 사용하여 getipgeoloc.sh 라는 스크립트 (원하는 이름을 지정할 수 있음)를 만듭니다.

$ vim getipgeoloc.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 getipgeoloc.sh

마지막으로 다음 스크린 샷과 같이 Linux IP 지리적 위치를 얻기 위해 스크립트를 실행하십시오.

$ ./getipgeoloc.sh

위의 스크립트는 대략 위도 경도 좌표와 함께 도시 국가 이름 이름을 보여줍니다.

또는 위에 표시된대로 스크립트에 저장하지 않고 위의 명령을 실행할 수도 있습니다.

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

관련 기사를 읽고 싶을 수도 있습니다.

  1. 4 Ways to Find Server Public IP Address in Linux Terminal
  2. Find Out All Live Hosts IP Addresses Connected on Network in Linux
  3. Find Top 10 IP Addresses Accessing Your Apache Web Server

그게 지금이야! 이 짧은 기사에서는 jq 명령을 사용하여 터미널에서 Linux IP 지리적 위치를 얻는 방법을 보여줍니다. 우리와 함께 의견을 나누거나 아래 피드백 양식을 통해 질문하십시오.