2010년 5월 5일 수요일

TCP, UDP 세션별로 패킷(PCAP) 파일 분할하기

PCAP 파일을 자르기 위한 방법을 몇번 언급하였다. 아래는 이와 관련된 포스팅 이므로,
참고하지 못한 분들은 읽어보기 바란다.


이번에 소개하고자 하는 것은 세션 기반의 파일 자르기 이다. 기존에 소개하였던 것이 개수별, 바이트별로 패킷파일을 잘랐다면 이것은 TCP 또는 UDP 세션별로 자르게 된다. 특정한 세션만 봐야 되는 경우, 편리하게 이용할 수 있을 것이다. 또한, 어떤 세션이 많이 있었는지도 판별하기도 쉬워질 것이다.

소개하는 프로그램의 이름은 SplitCap 이며, 윈도우 기반의 프로그램이다.

[SplitCap]
[다운로드]

실행하면 아래 그림과 같은 도움말을 볼 수 있다.

각 옵션을 정리해 보면 아래와 같다:

-r : 읽어들일 pcap 파일을 지정
-o : 결과파일이 나올 디렉토리를 지정
-d : 이전의 데이타 파일 삭제
-p : 파일별 세션의 개수를 지정
-b : 파일별 저장 크기 ( 크기는 바이트 기준)
-s : 트래픽을 그룹으로 나누어 저장 (각 호스트별, 각 호스트 통신 간, 세션별 )

사용은 아주 간단하다.

C:\SplitCap_1-2>SplitCap.exe -r udp_8338.pcap
Splitting pcap file into seperate pcap files...
100%
Please wait while closing all file handles...

실행하면 옆 화면과 같이 세션별로 파일이 나눠진다. 그 형태를 보면
프로토콜, 출발지 IP, 출발지 포트, 목적지 IP, 목적지 포트 로 나온다.

다른 파일 나누기 보다 세션별로 나눌때는 아주 유용할 것이다. 더불어 -s 를 이용한 그룹별 분리도 유용하다.
host 간 트래픽을 저장한다면 -s host 를 사용하면 된다.

이제 어떤 PCAP 을 받더라도 여러분들이 원하는 형태로 쉽게 나눌 수 있을 것이다.  :-)

댓글 4개:

  1. 와우!!!! 세션별로 나눠주는 프로그램이 있었군요^^ 아주 유용할듯 합니다



    근데 리눅스용으로도 있을까요?^^

    답글삭제
  2. @코알라라랑 - 2010/10/29 11:44
    세션별로 나눠주기 때문에 때로는 유용한 경우가 있습니다. 리눅스용으로는 지금 딱히 기억이 안 나네요. 제가 소개한 리눅스 중에서는 세션으로 Split 하는게 없었던 것 같고, 사용한 것중에 기억이 얼핏 나는것 같은데...기억이 나면 다시 말씀드릴께요. ^^;;

    답글삭제
  3. 기억나시면 꼭 알려주셔요~^^

    제가 지금있는 대학원에서 주로하는일이 패킷분석, 트래픽분석이고 주로 리눅스 서버를 이용을 많이 하거든요 ^^ 그래서 유용한 툴들이 많이 필요한게 사실입니다 ㅎㅎ

    저희는 거의 같은일을 하는것 같군요 ㅎㅎ

    답글삭제
  4. @코알라라랑 - 2010/11/05 10:44
    리눅스에서 세션관련한 것으로 참고해 보실만 한게 tcpxtract, pcapline 입니다.원하셨던 것은 아닌데, 일단 참고하시면 좋을 듯 해서요. 여기 블로그에서 검색해 보시면 됩니다. 예전에 본거 같은데 기억이 도통 안 나네요 ^^.

    앞으로 자주 뵙겠습니다 :-)

    답글삭제