2022년 3월 9일 수요일

IP로 국가 코드 얻기 KISA & DB BROWSER FOR SQLITE

 ip로 국가 확인 api


검색어로 구글 검색을 해보니 KISA에서 CSV를 배포하는 것을 알게 되었다.

일반적으로 GEOIP 검색해보면 유료 서비스가 있는데 돈 쓰는 것은 아깝고

PHP등에서는 예전 형식을 사용하는 것이 있는데 난 Dotnet을 사용하는데

데이터만 있으면 좋겠는데...  하고 아쉬워 했었다.


하여간 csv를 먼저 받도록 하자


kisa 국가별 ip


검색어로 검색을 하면

https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/statboard/IPAS/ovrse/total/currentV4Addr.jsp

위 url로 들어가볼수 있다. (이상한 문자로 보이지만 주소창에 한글로 되어 있다.)


해당 사이트에서 csv를 받도록 한다.


내용은 아래와 같다




사실 여기서 필요한 정보는 국가코드,시작IP,끝IP 3가지다.

나머지열은 지워버린다. 그리고 1줄에 헤더 부분(한글) 도 지워버린다.

db browser for sqlite 를 켜고 데이터베이스를 만든다.

테이블은 안 만들어도 된다. (가져오기 하면 임시 테이블 만들어지니까 이거 수정하자)





파일을 지정하면 아래와 같이 나온다.


가져오기 하면 지 맘대로 테이블 만들어준다.


정보는 원하는대로 입력한다.


데이터가 제대로 입력된것을 볼 수 있다.


공격 들어오는 ip를 조회해보았다.



쿼리는 아래와 같다.

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 명령어로

변환해서 사용해야 제대로 검색이 됩니다.

글을 수정하거나 새로 쓰기 귀찮아서 아래에 추가 합니다.

댓글 없음:

댓글 쓰기

비트넷 1.58, bitnet 1.58 윈도우 빌드 안될때 chrono bitnet 1.58 chrono

검색이 걸릴지 모르겠습니다. 윈도우 빌드 해볼라고 했는데 참 c++ 안한지 오래라 많이 해맸네요 기본적으로는 github의 설치 가이드대로 하면 됩니다. git clone --recursive https://github.com/microsoft/Bit...