패킷 분석은 IP 와 IP 간의 통신으로 가득차 있다. 근데 해당 IP 만 보고서 이게 도대체 어디의 IP 인지
알기가 힘들다. 일일이 후이즈(Whois)를 하자니 그것도 귀챦은 일이다.
이럴때 유용하게 이용해 볼 수 있는 것이 IP 정보를 DB 화 해 놓은 데이터를 이용하는 것이다.
GeoIP 라고 무료로 사용가능한 데이터를 제공해 주는 곳이 있다. 상용버전도 있지만,
GeoLite 라고 무료로 사용할 수 있다. 주소는 다음과 같다 :
http://geolite.maxmind.com/download/geoip/database/
아래 파일들을 다운받고 적절한 위치에 넣어두자.
GeoIP.dat.gz
GeoLiteCity.dat.gz
GeoIPASNum.dat.gz
그리고 와이어샤크의 메뉴 Edit->Preferences 을 가 보면 Name Resolution 이 있다. 거기에서 GeoIP database directories 를 선택하면 다음과 같은 화면을 보게 된다. New 를 눌러 데이터베이스가 있는 위치를 지정해 주고 저장해 보자
저장후에는 와이어샤크를 재 시작해주어야 한다. 이후, 패킷 덤프를 시작하고
Statistics->End Points 를 한번 실행해 보면 국가 정보, AS Number, 도시 정보를 볼 수 있다.
또한, 패킷 세부 정보를 보면 아래와 같이 나타나기도 한다.
하지만, 기본적으로는 세부 정보 화면에는 나타나지 않는다. Edit->Preferences 에 가서 Protocols 에서
IP 를 선택하면 Enable GeoIP lookups 이라는 부분을 체크해 주어야 한다. 아무래도 상세정보에도
표시를 하려면 성능에도 영향을 주게 될 것이다. 그러므로 필요에 따라 적절하게 사용하여야 할 것이다.
그래도 GeoIP 를 이용하는 것은 상당한 매력이 있다. 일일이 IP 를 조회해 보지 않고서도 해당 IP 의
국가와 지역, 서비스 프로바이더를 대략 알아낼 수 있기 때문이다. 이렇게만 볼 수 있다면 약간 서운할 것이다.
이 정보를 이용해 필터로 사용할 수는 없는 것일까? 물론 가능하다.
아래는 한국 국가에 대해서만 필터를 적용하는 예이다.
ip.geoip.country == "Korea, Republic of"
또 지역 중에 울산만 해당하는 것을 적용해 본다면
ip.geoip.city == "Ulsan, 21"
위와 같이 사용할 수 있다. 이외에도 사용가능한 문법은 더 많이 있다. 출력필터 부분에서 ip.geoip 라고
입력해 보면 사용가능한 문법을 볼 수 있을 것이다.