괜찮은_프리웨어2023. 8. 18. 11:53

 

반달가면 이글루에서 백업 - http://bahndal.egloos.com/624513 (2019.2.18)

프로토콜 분석 프로그램인 와이어샤크(Wireshark, 이전 게시물을 참고하자. 여기로)에서 IP주소에 대한 위치정보(국가, 도시, AS번호)를 보기 위한 방법이다. 와이어샤크 버전 2.6 이후부터 MaxMind에서 제공하는 무료 IP주소 위치정보DB를 사용할 수 있으며, 이 DB와 연동하게 설정하면 된다. 작업은 리눅스 민트 18.2에서 와이어샤크 2.6.6으로 진행했다.

 

우선 MaxMind에서 제공하는 무료 IP주소 위치정보DB를 다운로드하자. "GeoLite2"라는 DB인데, 아래의 링크로 가서 받으면 된다.

MaxMind GeoLite2 무료 DB
https://dev.maxmind.com/geoip/geoip2/geolite2/

다운로드 항목을 보면 MaxMind DB(mmdb) 형식과 CSV 형식 두가지가 있는데, MaxMind DB 형식을 다운로드한다. DB는 세가지 종류가 있으며 국가(Country), 도시(City), AS번호(Autonomous System Number, ASN) 등이다. 파일이 tar.gz 압축되어 있으므로 압축을 푼다(압축 해제에 대한 내용은 이전 게시물을 참고하자. 여기로)

 

# GeoLite2 DB 압축 해제
mkdir ~/maxmind_geoip
tar -xzf GeoLite2-Country_20190122.tar.gz -C ~/maxmind_geoip/
tar -xzf GeoLite2-City_20190122.tar.gz -C ~/maxmind_geoip/
tar -xzf GeoLite2-ASN_20190122.tar.gz -C ~/maxmind_geoip/

압축 해제가 완료되었으면 와이어샤크에서 mmdb 파일이 있는 디렉토리를 설정에서 추가해 준다. 와이어샤크를 실행해서 "Edit(편집)" -> "Preferences(환경설정)" 항목으로 들어가자.

환경설정창이 나오면 "Name Resolution" 항목으로 간다. 관련 설정에서 맨 아래쪽을 보면 "MaxMind database directories"라는 항목이 있다. 이 항목의 "Edit" 버튼을 클릭한 후, mmdb 파일이 있는 디렉토리들을 추가해 주면 된다. 위의 예시를 기준으로 하면 ~/maxmind_geoip/ 하위에 있는 디렉토리 세개를 추가해 준다. 

 

 

추가를 완료했으면 패킷 정보 표시창에 국가 항목을 추가해 보자. 환경설정창에서 "Apprearance" -> "Columns" 항목으로 간다. 여기서 새 항목을 추가할 수 있다. 예를 들어 source IP주소의 국가코드를 표시하고 싶다면 "Title"은 Source_Country, "Type"은 custom, "Fields"는 ip.geoip.src_country_iso로 지정한다. 같은 방식으로 destination IP주소의 국가코드도 "Fields"를 ip.geoip.dst_country_iso로 지정해서 추가할 수 있다.

 

 

같은 요령으로 도시(ip.geoip.src_city, ip.geoip.dst_city), AS번호(ip.geoip.src_asnum, ip.geoip.dst_asnum) 등도  필요에 따라 추가하면 되겠다.

이제 와이어샤크를 종료하고 재시작하면 각 패킷의 IP주소별로 위치정보를 볼 수 있다.

728x90
Posted by 반달가면