일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 삼양맵탱
- 스시
- 별빛마당
- 초밥
- 와인초특가
- 기흥반려견놀이터
- 10월와인장터
- 고추냉이
- 10월장터
- gs25
- 용인중앙시장
- 와인장터
- 샘표계란이맛있어지는간장
- 용인강아지놀이터
- 강아지간식
- 주비푸드
- 10월와인
- 용인야시장
- gs25맵탱
- 생와사비
- 이마트
- 이마트와인장터
- 반려견놀이터
- 용인중앙시장야시장
- 이마트와인
- 와인할인
- 와사비
- 와인특가
- mysql1267
- 자연에서갈아만든생와사비
- Today
- Total
기억의 기록
GeoIP 이용하기 본문
어디에서 접속했는지 분석을 하기 위해 IP 수집을 합니다.
이것을 분석하기 위해서는 IP 와 지역을 매칭해야 합니다.
아래의 URL 에서 IP - 주소가 매핑된 데이터를 다운로드 할 수 있습니다.
https://dev.maxmind.com/geoip/
아래와 같이 여러가지 형식의 데이터를 받을 수 있습니다.
(하단에 free 라는 단어가 보입니다. )
https://dev.maxmind.com/geoip/geoip2/geolite2/
유료로 이용할 것이 아니면 무료 버젼을 이용하고 라이센스를 맞춰 줍니다.
LicenseThe GeoLite2 databases are distributed under the Creative Commons Attribution-ShareAlike 4.0 International License. The attribution requirement may be met by including the following in all advertising and documentation mentioning features of or use of this database: |
다운로드 합니다.
국가별 아이피를 다운받아서 압출을 풀면
GeoLite2-Country-Blocks-IPv4.csv, GeoLite2-Country-Locations-en.csv 두개를 조합해서 사용할 수 있습니다.
두개의 엑셀파일은 이렇게 생겼습니다.
geoname_id 를 조인하면 어느 나라의 IP 인지 알 수 있습니다.
그런데.. network 를 보니.. 서브넷 마스크를 사용하네요..
내꺼 아이피가 10.10.10.10 이라고 하면.. 대역대를 파악해서 어느 geoname_id 인지 확인을 해야 합니다.
(서브넷 마스크 : https://ko.wikipedia.org/wiki/%EB%B6%80%EB%B6%84%EB%A7%9D )
서브넷 마스크 계산을 하는 방법입니다.
예를 들면..
1.0.2.0/23 이라는 네트워크 대역이 있다고 하면..
어디부터 어디까지의 IP 가 속할 수 있을지 구해야 합니다.
2진수로 바꿔 보겠습니다.
원본 0000 0001 / 0000 0000 / 0000 0010 / 0000 0000
서브넷 1111 1111 / 1111 1111 / 1111 1110 / 0000 0000
(/31이 255.255.255.254 입니다. /30은 255.255.255.252입니다. 1비트씩 줄어든다고 보시면 됩니다. 그렇다면 /23은 255.255.255.252.0 입니다.)
원본과 서브넷을 AND 연산을 해보면 1.0.2.0 나옵니다.
서브넷을 리버스 하면 0000 0000 / 0000 0000 / 0000 0001 / 1111 1111
0.0.1.255 나옵니다.
AND 연산한 결과에 리버스한 결과를 더하면 1.0.2.0 + 0.0.1.255 = 1.0.3.255 이 됩니다.
따라서 1.0.2.0/23 네트워크 대역은 1.0.2.0 부터 1.0.3.255 까지 사용할 수 있습니다.
아이피를 "/" 으로 잘라서 서브넷 마스크 구하고 아이피에 서브넷 마스크를 연산한걸 더해서 사용가능 아이피 대역을 구할 수 있습니다.
(한개만 있어서 대역대 계산기를 이용하지 않는 경우에는 위의 계산식을 이용해서 자동으로 계산되게 만들어야 합니다.)
계산된 대역을 시작과 끝을 저장하고 그 나라까지 한개의 테이블로 저장해 놓으면 범위 검색으로 입력된 IP 의 나라를 구할 수 있습니다.
끝.
'데이터 분석' 카테고리의 다른 글
수학 기호 읽기 (0) | 2018.07.23 |
---|---|
CCTV 현황 보기 (0) | 2018.07.04 |