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

2010년 5월 24일 월요일

와이어샤크(WireShark)의 그래프 기능 활용하기 - 기본편

패킷 분석 상용프로그램을 보면 이쁘게 나오는 화면에 부러울 따름이다. 물론, 일전에 소개한
자바기반의 프로그램과 같은 것에서는 비주얼한 화면을 보여주기도 하지만,
전반적으로 오픈소스 패킷 분석기에서는 이런 기능이 약한건 사실이다. 비주얼 적으로는 약하지만
그래프가 가르키는 그 의미를 표현하는데는 부족하지 않을 것이다.

와이어샤크의 IO Graphs 기능을 이용하면 어느 정도 표현이 가능하다.  자 일단 화면을 살펴보면
결과는 아래와 같다. Filter 라고 입력되어 있는 부분에 와이어샤크의 출력필터를 이용하여 출력해 낼 것을
선별적으로 거를 수 있다.  그래프 스타일은 Line, Impulse, FBar, Dot 와 같이 4가지 중 하나를 선택할 수 있다.
그리고, 그래프에서 표현하는데 중요한 X 축과 Y 축이 있다. X 축은 시간 주기를 정한 것으로 1초부터 0.1, 0.01 초 등 다양하다. View as time of day 를 클릭하면 시간으로 표시되고, Y 축은 패킷, 바이트, 비트로 나누어 표시된다.  아래예제에서는, 간단히 대표적 프로토콜만 필터에 입력하여 사용한 것으로 검정색 부분은 전체를 뜻한다. TCP 부분인 녹색을 보면 전체적으로 패킷이 TCP 형태임을 알 수 있고, 빨간색은 UDP 로 전체 패킷에서 아주 일부분 밖에 되지 않는다는 것을 쉽게 알 수 있다.

그래프 사용은 아주 쉽게 표현될 수 있는데, 표현하고자 하는 목적에 따라 사용이 달라질 것이다. 중요한 것은

- 그래프를 사용하고자 하는 목적에 따라 달라진다는 점과
- 그래프에 포함시켜 출력하고자 하는 데이터는 무엇인지
- 그 데이터의 범위는 어디까지 인지 정해야 한다. 데이터의 범위라 하면 특정 프로토콜 이든지
또는, 필터를 통해 특정 데이터로 한정한다. 예를들어, UDP 포트가 8338 이라면 udp.port == 8338 과
같이 사용한다. 와이어샤크의 출력필터는 이전에 언급한 포스팅 내용을 참고해 보기 바란다.
- 마지막으로 그래프의 스타일을 정해야 한다. 한 화면에 표현되는 내용이 많으면 그래프가
명확하게 보이지 않기 때문에, 어느 것을 라인으로 표시하고 어느 것을 바 형태로 표현할지 정해야 한다.


그래프는 직접 사용해 보면 어렵지 않다는 것을 알 수 있을 것이다. 와이어샤크의 Statistics -> IO Graphs 를 클릭해보고 사용해보자.  그리고 위 화면에 Copy 는 CSV 형태로 데이터를 저장해 준다. 아래 화면을 보면
다섯개의 그래프 수치가 표현되어 있다. 이걸 어디에 사용할 수 있을까 ? 이것은 다음 그래프 활용과정에서 소개하겠다.  마지막으로 Save 는 화면을 BMP, JPEG 와 같은 이미지 형태로 저장해 주는 기능을 제공한다.
다음 포스팅에서 그래프를 좀더 효과적으로 활용할 수 있는 방법을 소개하겠다.

2010년 3월 17일 수요일

패킷 대화내용을 정리해서 보자고

와이어샤크에서 패킷의 통신 내용을 이더넷, IP, TCP, UDP 등으로 구분하여 쉽게 살펴볼 수 있다.
그렇다면 어떻게 쉽게 살펴본다는 것인가? 대화형 형태로 내용을 보여준다는 것이다.
한 IP 에서 다른 IP 또는 한 맥주소에서 다른 맥 주소와 같이 A 와 B 지점을 잡고 그 사이의 통신 내용,
즉, 패킷 전송 건수, 전송데이타 양, 통신 시간등을 보여준다.

와이어샤크의 메뉴에서 Statistics -> Conversations 을 클릭하면 아래와 같은 화면을 볼 수 있다.
이더넷탭은 맥 주소를 기반으로 보여줄 거이고, 아래 예제는 IP 주소를 기준으로 보여주고 있다.
각 탭을 클릭하면 내림/올림차순으로 정렬을 할 수 있다. Bytes 기준으로 보니 192.168.0.221 과
211.115.99.247 사이에 343 건의 패킷을 주고 받았다.  

예를 들어 분석하고자 데이터가 많은 경우에는 이렇게 Conversations 을 이용하여 데이터 흐름을 살펴보고
어떤 지점에서 패킷 데이터가 가장 많았었는지 쉽게알아 볼 수 있을 것이다. 만약 전체 네트워크에서
일부 PC 가 악성코드에 감염되어 패킷을 계속 전송한다고 가정하면, 패킷 덤프를 떠서 정렬해서 보면
대략 어떤 PC 가 데이터를 많이 보내고 하였는지 추정이 될 것이다. 물론 상황에 따라 유용한지 여부는
달라지겠지만 말이다.

TCP 탭에서는 포트 번호로도 볼 수 있으니 분석에 도움이 될 것이다. 참고로, Limit to display filter 가
보일 것이다. 이것은 화면 출력 필터를 적용한 상태에서 체크하면 필터가 적용된 상태에서 대화내용이
나오게 되므로, 데이터 내용이 많은 경우에는 적절한 필터를 통해 분석하면 더욱 효과적일 것이다.

2009년 12월 29일 화요일

패킷 분석 기본 정보를 얻고 시작해 보자.

패킷 분석 시작 전, 패킷의 기본정보를 파악하는 것은 중요하다. 패킷 요약 정보를 통해 기본 정보를 얻고 시작해 보는 것은 어떨까 ? 다음 이미지는 패킷이 초당 평균 114 바이트라는 것을 보여주고, 평균 전송된 바이트는 22 바이트라는 것을 나타내주고 있다.  321 초 동안 64 개의 패킷을 캡쳐한 수준이니 상당히 적은 수준이다.
그럼 대략 지금 분석하고자 하는 패킷이 크게 많은 정보를 갖고 있지 않음은 짐작할 수 있다. 또 여기서 활용할 수 있는 정보가 Displayed 라고 표시되어 있는 부분이다.

지금은 따로 정보가 표시되어 있지만, 만약 여러분이 출력 필터를 사용한 경우에는 아래 Displayed 에 출력필터로 적용한 정보만 따로 나타난다. 이 정보는 유용하게 사용할 수 있다. 예를 들어, 특정 사이트를 대상으로 임의의 패킷이 대량으로 발생되었다면 다른 패킷정보는 제외하고 해당 패킷만을 대상으로 필터를 걸어 보면

- 초당 전송된 평균 패킷 개수
- 초당 전송된 평균 패킷 사이즈
- 전체 바이트
- 초당 전송된 평균 바이트
- 초당 전송된 평균 메가비트 (메가 바이트가 아니라 Bit 라는 점을 주의하자!)

위와 같은 정보를 얻을 수 있으니 보고서 작성등에 유용할 것이다. 아, 이 정보는 메뉴에서
Statistics -> Summary 통해 얻을 수 있다.