메뉴 닫기

command line을 이용해서 위치정보 조회

필요에 따라 IP 정보를 조회해 볼일이 생긴다면 대부분 ipconfig.co.kr , geoiptool.com 과 같은 WEB 을 통해서 정보를 확인하곤하죠. 이러한 정보들은 대부분 Maxmind에서 제공하는 GeoIP 데이타를 가지고 구동됩니다.
여기서는 command line 에서 간단히 IP 정보를 확인하는 방법 2가지에 대해 소개합니다.

첫번째 : geoiplookup

Ubuntu
# apt-get install geoip-bin

CentOS/RHEL
# yum install geoip

# geoiplookup idchowto.com
GeoIP Country Edition: KR, Korea, Republic of

Maxmind 에서 배포하는 디비를 이용해서 좀더 디테일한 정보 확인해보도록 하겠습니다.
Maxmind 에서 배포하는 버전에는 무료/유로 버전이 있는데…굳이 유로버전 사용할 필요없이 한달에 한번 업데이트 해주는 무료버전만으로도 충분합니다. 단, 필히 한달에 한번은 업데이트(cron 등을 이용)를 진행해주셔야 합니다.

maxmind참고 http://dev.maxmind.com/geoip/legacy/geolite/

# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
# wget http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz

# gunzip GeoIP.dat.gz
# gunzip GeoIPASNum.dat.gz
# gunzip GeoLiteCity.dat.gz

# cp Geo* /usr/share/GeoIP/

사무실 아이피 확인
음…..KT 라인에… AS 번호는 4766…한국 아이피
# geoiplookup XXX.XXX.XXX.6
GeoIP Country Edition: KR, Korea, Republic of
GeoIP ASNum Edition: AS4766 Korea Telecom

이것만으로는 정보라고 하기에는 많이 부족하죠.
이번에는 GeoLiteCity 데이타를 이용해서 주, 도시, 우편번호, 위도, 경도까지 확인
# geoiplookup -f /usr/share/GeoIP/GeoLiteCity.dat XXX.XXX.XXX.6
GeoIP City Edition, Rev 1: KR, 13, Kyonggi-do, Seongnam, N/A, 37.438599, 127.137802, 0, 0
※ 모바일 네트워크는 정보가 상이할수 있다고 명시되어있음


두번째 : JSON 기반의 위치정보 API 이용
또다른 방법으로는…GeoIP 데이타를 이용하지 않고 ipinfo.io 에서 제공하는 서비스를 이용하는 방법입니다.
여기서는 curl 을 비롯해 jQuery, Node.js, Ruby, Python 등과 같은 도구를 이용해 JSON 기반의 위치정보 API를 제공합니다.

# curl ipinfo.io/XXX.XXX.XXX.6
{
  “ip”: “XXX.XXX.XXX.6”,
  “hostname”: “No Hostname”,
  “city”: “Seongnam-si”,
  “region”: “Gyeonggi-do”,
  “country”: “KR”,
  “loc”: “37.4386,127.1378”,
  “org”: “AS4766 Korea Telecom”

WEB 버전 
io
※ 하루에 API 호출 횟수는 1000회로 제한되어있으며 그 이상은 유료
유료가격은 아래 홈페이지에서 확인가능  http://ipinfo.io

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다