Linux의 Bash에서 IP 주소의 지리적 위치 정보 얻기
때로는 IP 주소에 대한 지리적 위치 정보를 빠르게 가져와야 합니다. Linux에서는 콘솔 앱의 기능을 사용하여 시간을 절약하고 이 정보를 빠르게 검색할 수 있습니다. 어떻게 할 수 있는지 봅시다.
특정 IP 주소에 대한 지리적 위치 정보를 얻으려면 적절한 API를 제공하는 일부 온라인 서비스를 사용해야 합니다. 인증 절차 및 API 키 관리를 피하기 위해 일부 공공 서비스를 사용하는 것이 좋습니다. 그러한 서비스 중 하나는 FreeGeoIP.net.
IP 주소의 지리적 위치를 검색하는 공개 HTTP API를 제공합니다. 시간대, 위도 및 경도와 같은 기타 관련 정보와 함께 도시와 연결된 IP 주소 데이터베이스를 사용합니다. 이것은 매우 유용합니다.
서비스는 검색 결과를 JSON 또는 XML로 제공할 수 있습니다. 따라서 curl을 일부 JSON 파서와 결합하면 필요한 정보를 얻을 수 있습니다.
내가 가장 좋아하는 JSON 파서인 jq를 사용하겠습니다.
우리의 경우 쿼리는 다음과 같아야 합니다.
http://freegeoip.net/json/119.94.116.145
여기서 "json" 부분은 원하는 데이터 형식입니다. JSON 외에도 XML 또는 CSV가 될 수 있습니다.
curl로 쿼리를 실행하고 출력을 살펴보겠습니다.
곱슬 곱슬하다 http://freegeoip.net/json/119.94.116.145|jq
출력은 더 읽기 쉬울 것입니다:
jq를 사용하여 출력을 필터링하고 필수 필드만 표시하도록 할 수 있습니다. 다음 명령은 국가 이름, 위도 및 경도만 표시합니다.
곱슬 곱슬하다 http://freegeoip.net/json/119.94.116.145|jq -r '.country_name,.latitude,.longitude'
#!/bin/sh. 컬 -s http://freegeoip.net/json/$1|jq -r '.country_name,.latitude,.longitude'
다음에 지리적 위치 정보를 가져와야 할 때 다음과 같이 스크립트를 실행할 수 있습니다.
./geo.sh IP 주소
그게 다야