때로는 IP 주소에 대한 지리적 위치 정보를 빠르게 가져와야합니다. Linux에서는 콘솔 앱의 강력한 기능을 사용하여 시간을 절약하고이 정보를 빠르게 검색 할 수 있습니다. 어떻게 할 수 있는지 봅시다.
광고
특정 IP 주소에 대한 지리적 위치 정보를 얻으려면 적절한 API를 제공하는 일부 온라인 서비스를 사용해야합니다. 권한 부여 절차 및 API 키 관리를 피하기 위해 일부 공용 서비스를 사용하는 것이 좋습니다. 그러한 서비스 중 하나는 FreeGeoIP.net.
IP 주소의 지리적 위치를 검색하기위한 공용 HTTP API를 제공합니다. 시간대, 위도 및 경도와 같은 기타 관련 정보와 함께 도시와 관련된 IP 주소 데이터베이스를 사용합니다. 이것은 매우 유용합니다.
이 서비스는 검색 결과를 JSON 또는 XML로 제공 할 수 있습니다. 따라서 curl과 JSON 파서를 결합하면 필요한 정보를 얻을 수 있습니다.
xbox에서 불화를 다운로드 할 수있어?
내가 좋아하는 JSON 파서 인 jq를 사용하겠습니다.
매우 가볍고 빠릅니다.
이 경우 쿼리는 다음과 같아야합니다.
http://freegeoip.net/json/119.94.116.145
여기서 'json'부분은 원하는 데이터 형식입니다. JSON 외에도 XML 또는 CSV 일 수 있습니다.
curl을 사용하여 쿼리를 실행하고 출력을 보겠습니다.
결과는 읽기 어려운 원시 JSON 출력입니다. 결과 집합의 모양을 개선하기 위해 jq 도구를 사용하겠습니다. 다음과 같이 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 curl -s http://freegeoip.net/json/|jq -r '.country_name, .latitude, .longitude'
다음에 위치 정보를 가져와야 할 때 다음과 같이 스크립트를 실행할 수 있습니다.
./geo.sh IP_address
그게 다야.