-
[Whois] IP를 이용한 국가정보 검색 서비스 구축하기 (ip2nation.com)ETC 2017. 5. 26. 23:30반응형
URL : http://ip2nation.com
IP를 이용한 국가검색을 위해선 whois 서비스를 이용해야 한다.
(우리나라에서 도메인 서비스업을 하는 업체 중 하나인 '후이즈'를 말하는게 아니다.)
whois 에 대해선 위키백과나 네이버 사전에 설명되어 있다.
네이버사전
: http://terms.naver.com/entry.nhn?docId=862070&cid=50371&categoryId=50371위키백과
: https://ko.wikipedia.org/wiki/%ED%9B%84%EC%9D%B4%EC%A6%88whois 서비스는 대륙별 인터넷 레지스트리 단체에서 검색이 가능하며 국내의 경우에는 한국인터넷 진흥원에서 찾아볼 수 있다.
한국인터넷 진흥원
: https://whois.kisa.or.kr/kor/main.jsp아프리카 대륙(AFRINIC)
: http://www.afrinic.net/미국,캐나다,카리브 제도 일부(ARIN)
: https://www.arin.net/아시아 및 태평양(APNIC)
: https://www.apnic.net/라틴 및 카리브 제도 일부(LACNIC)
: http://www.lacnic.net/유럽,러시아,중동,중앙아시아(RIPE NCC)
: https://www.ripe.net/출처 : 위키백과(대륙별 인터넷 레지스트리)
(포스트에서 링크가 빗발친다~!)
해당 서비스를 이용해 IP의 위치를 찾는 것은 큰 제약사항이 없지만, 공통적으로 인터넷이 연결되어있는 환경이어야 한다. 인터넷 연결이 어려운 특수한 환경에서는 미리 IP 정보를 추출해두고 필요한 경우에 따라 내부 저장환경에서 확인해야 할 것이다.
이번에 소개할 사이트인 ip2nation.com 은 위와 같은 상황에 필요한 IP별 국가정보 DB를 구축하는 자료를 제공하는 곳이다.
해당 사이트에 들어가면 심플한 모습의 메인화면이 반길 것이다. 메인화면의 내용은 영어로 쓰여있긴 하지만 어렵지 않게 해석할 수 있을 것이다. 간단히 설명하자면 "MySQL 기반으로 구축한 IP별 국가 매칭 DB 정보이니 왼쪽메뉴의 Download를 눌러 받으면 된다." 라는 뜻이다.
IP.특성상 재할당에 의한 위치 변경으로 추적시 다른 위치가 나올 수도 있지만 그 점을 제외하면 정확도는 꽤 괜찮은 듯 하다.
해당 사이트에서 일러준대로 Download를 누르면 ip2nation.zip 이라는 파일을 다운로드 받게된다.
해당 파일을 열어보면 ip2nation라는 이름의 sql 파일이 한개 들어있을 것이다. 구축하고자 하는 DB에 해당 sql 실행하기만 하면 된다.
실행하면 ip2nation, ip2nationCountries 2개의 테이블이 생성된다.
<ip2nation Table>
필드명 설명 ip 검색할 IP country 국가코드 <ip2nationCountries Table>
필드명 설명 code 국가코드. ip2nation 테이블의 country 필드와 대응 iso_code_2 ISO 표준 국가코드(2자리) iso_code_3 ISO 표준 국가코드(3자리) iso_country ISO 표준 국가명 country 국가명 lat 위도(Latitude) lon 경도(Longitude) ip2nation 테이블의 country 필드와 ip2nationCountries 테이블의 code 필드를 Join 하면 해당 IP에 대한 국가코드 및 국가명을 알아낼 수 있다. 또한 해당 국가에 대한 GPS 정보도 포함되어 있으니 위치기반 자료를 제공하는데도 도움이 될 것이다.
(위치에 대한 정확도와 범위는 아직 확인하지 못했다. 확인이 되는대로 포스팅에 내용을 보강할 예정이다.)
오프라인 기반 서비스 제공이기 때문에 주기적인 최신화가 필요할 것이다. ip2nation 에선 최신화된 정보가 있으면 이메일로 안내를 하는 서비스도 함께 제공하고 있다. 홈페이지 메인화면 하단에 알림을 받을 메일주소를 넣고 Subscribe(구독하기) 버튼을 누르면 된다.
반응형'ETC' 카테고리의 다른 글
[bootstrap] <select>에 MSG를 끼얹나? (bootstrap-select) (0) 2017.08.13 [OpenSource] 이 코드 누가 짠 거야? (searchcode.com) (0) 2017.06.04 [bootstrap] 부트스트랩을 더 아름답게 (bootswatch.com) (0) 2017.05.22 [SyntexHighlighter]CDN 서비스를 통해 SyntaxHighlighter 설치하기 (0) 2017.05.21 [Web] 사이트 분석도구 (contentwiki.net) (0) 2017.05.21