ip로 국가 확인 api
검색어로 구글 검색을 해보니 KISA에서 CSV를 배포하는 것을 알게 되었다.
일반적으로 GEOIP 검색해보면 유료 서비스가 있는데 돈 쓰는 것은 아깝고
PHP등에서는 예전 형식을 사용하는 것이 있는데 난 Dotnet을 사용하는데
데이터만 있으면 좋겠는데... 하고 아쉬워 했었다.
하여간 csv를 먼저 받도록 하자
kisa 국가별 ip
검색어로 검색을 하면
https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/statboard/IPAS/ovrse/total/currentV4Addr.jsp
위 url로 들어가볼수 있다. (이상한 문자로 보이지만 주소창에 한글로 되어 있다.)
해당 사이트에서 csv를 받도록 한다.
내용은 아래와 같다
나머지열은 지워버린다. 그리고 1줄에 헤더 부분(한글) 도 지워버린다.
db browser for sqlite 를 켜고 데이터베이스를 만든다.
테이블은 안 만들어도 된다. (가져오기 하면 임시 테이블 만들어지니까 이거 수정하자)
데이터가 제대로 입력된것을 볼 수 있다.
쿼리는 아래와 같다.
SELECT code from geoip where start <= '168.76.2.6' and end >= '168.76.2.6'
'168.76.2.6' <- 여기에 아이피 넣으면 되고 code 가 없을수도 있다.
이럴경우 특정 값으로 만들어 주고 나중에 다른 서비스를 이용해서 등록해주면
되지 않을까 싶다. 그리고 가능하면 주기적으로 확인해서 최신 데이터로 갈아주는것도
좋을 것이다.
%% 주의 %%
이거 문자열을 숫자형태로 변환해서 사용해야 합니다.
검색하면 나올건 sqlite에는 명령어가 없고 mysql 에서는 INET_ATON 명령어로
변환해서 사용해야 제대로 검색이 됩니다.
글을 수정하거나 새로 쓰기 귀찮아서 아래에 추가 합니다.
댓글 없음:
댓글 쓰기