레이블이 geoip인 게시물을 표시합니다. 모든 게시물 표시
레이블이 geoip인 게시물을 표시합니다. 모든 게시물 표시

2011년 5월 19일 목요일

와이어샤크 패킷리스트 화면에서 IP 국가정보를 바로 확인해보자!

와이어샤크를 이용해 분석을 하다보면, 메인 화면의 패킷 리스트 컬럼에 더 추가적인 정보가 있으면 분석이 수월해지지 않을까 생각해 보지 않았는가? 예를들어, 리스트 화면을 보는데 IP 정보와 포트 그리고 간단히 출력되는 정보는 그 정보 자체만으로는 한계가 있다. 그런데 여기에 IP 에 대한 국가 정보가 출력된다면 어떨까?  IP 정보외 바로 국가 정보까지 보여준다면, 분석이 더 용이할 것이다.

물론, 일전에 와이어샤크에서 GeoIP 를 이용하여 국가 정보를 얻는 방법에 대해서 소개한 적이 있다. 그런데 이것은 메인 리스트 화면에서 나오는 것이 아니라, 해당 리스트의 세부정보에서 IP 영역을 보았을때 나타나는 정보이다.


즉, 이 정보를 바로 메인 리스트 화면으로 끌어오겠다는 것이다. 실행은 간단하다.
일단, GeoIP 가 설정되어 있어야 하므로 위 블로그 글을 참고하길 바란다. 그리고 출발지 또는 목적지 국가 정보를 선택하고 마우스의 오른쪽 버튼을 클릭하면 'Apply as Column' 이라는 메뉴가 있다. 바로 이 메뉴만 선택해 주면 된다. 그러면 아래와 같이 패킷 리스트 화면에 국가 정보 컬럼이 추가된다. 패킷을 살펴보면서 국가 정보까지 바로 확인할 수 있으니 패킷 분석 업무에 따라 다르겠지만 유용한 것이 될 것이다.


이렇게 설정된 정보는 Edit->Preferences->Column 에서 확인할 수 있다. 여기에서 직접 추가할 수도 있지만 앞서 소개한 방법이 더욱 쉬울 것이다. 추가한 컬럼이 우측 끝에 위치해 있는데, 순서도 정할 수 있다. 목적지 IP 에 대한 국가를 출력한 것이다. 드래그 하여 목적지 IP 주소 다음 컬럼으로 옮겨봐도 될 것이다.



국가 정보뿐 아니라, 'Apply as Column' 으로 할 수 있는 것은 다 컬럼 정보로 뺄 수가 있다. 아래그림은 HTTP 프로토콜에서 호스트 정보를 컬럼으로 빼 본것이다. 그리고 Bytes 정보도 함께 나와있다.


이런 컬럼정보를 활용하여 일전에 그래프 생성과 관련하여 소개한 적이 있다. 통계로 뽑고 싶은 데이터를 컬럼으로 내보내고 CSV 로 저장해 OpenOffice를 통해 그래프 작업한 것이다. 이때 컬럼에 패킷 길이 정보를 포함하여 사용하였다.


상용제품의 화려함과 편의성에 약간 불편할 수 있지만, 오픈소스만으로도 얼마나 훌륭한 작업들을 해낼 수 있는지 앞으로 계속 소개할 것이다.

2010년 3월 23일 화요일

와이어샤크에서 위치정보 이용하기 - 접속국가를 쉽게 알 수 있다면...

패킷 분석은 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 라고
입력해 보면 사용가능한 문법을 볼 수 있을 것이다.