2010년 7월 16일 금요일

윈도우에서 마우스한번으로 패킷파일(PCAP)을 빠르고 쉽게 분할하여 보자!


이전 포스팅에서 패킷파일을 자르기 위한 방법을 몇 가지 소개하였다. 유닉스 기반에서는 주로 콘솔 기반에서 사용하다 보니 명령어를 하나 호출하여 사용하면 금방 되지만 GUI 환경으로 주로 사용하는 윈도우에서는 패킷 파일 한번 자르려면 도스창을 열어야 하고 귀챦은 점이 있다. 간단한 방법을 통해 한번에 이 문제를 해결할 수 있는 방법을 소개하고자 한다.

[과거 PCAP 분할과 관련된 글]
어떤 방법이 가장 쉬울까 하고 생각해 보았더니, 오른쪽 마우스를 클릭했을때 메뉴로 등록하는 것이 가장 빠른 방법 같았다. 오른쪽 마우스를 클릭했을때 나타나는 메뉴는 레지스트리를 수정하는 것만으로도 쉽게 만들 수 있으므로, 가장 최적의 방법이다.

우선, 여기서는 와이어샤크에 기본으로 포함되어 있는 editcap.exe 를 사용할 것이다. 그러므로 어느 경로에서나 실행될 수 있도록 패스 경로에 넣어두는 것이 필요하다. 어느 경로에서나 editcap 을 실행할 수 있다면 일단 기본 준비는 완료되었다. 그 다음은 레지스트리를 수정하는 것이다.

1. regedit 를 실행
2. HKEY_CLASSES_ROOT\*\Shell 아래에 내가 원하는 것을 만들어 넣으면 메뉴로 쉽게 추가가 가능하다.
그리고 다음의 명령어를 실행하는 것이다.

editcap.exe -c 300000 %1 %1_split.pcap

-c 옵션은 패킷 파일당 30만개씩을 넣는 것이고, %1 은 받아들이는 인자명이다. 즉, 이 명령어를 실행하면 패킷파일을 30만개씩 나누라는 것이다. 자 그럼 레지스트리에 등록하는 것으로 끝이난다. 막상 레지스트리 찾아서 입력하려고 하면 귀챦다. 그래서 아래와 같이 자동으로 입력될 수 있도록 만들어 보았다.

;
; "Spliting Network Packet File(PCAP) - SplitCap"
; Are you looking for packet information? please visit following site.
; http://packetinside.com
; written by Rigel

[version]
signature="$CHICAGO$"

[SplitCapInstall]
AddReg    = SplitCap.Reg

[DefaultInstall]
AddReg    = SplitCap.Reg

[SplitCap.Reg]
HKCR,*\Shell\SplitCap,,,"%SplitCapName%"
HKCR,*\Shell\SplitCap\command,,,"cmd.exe /c editcap.exe -c 300000 %1 %1_split.pcap"

[Strings]
SplitCapName="SplitCap"

위 내용을 splitcap.inf 파일로 저장하자. (또는 splitcap.inf 다운로드) 그리고 저장한 splitcap.inf 에서 오른쪽을 클릭하면 Install 또는 설치 라는 메뉴를 볼 수 있다. 선택을 해주면 자동으로 레지스트리에 삽입이 된다.




입력된 내용은 아래와 같다:

※ 잘못된 레지스트리의 사용은 시스템에 영향을 줄 수 있으므로, splitcap.inf 의 사용 및 직접 레지스트리 수정에 의한 어떤 영향도 필자는 책임을 질 수 없다.

레지스트리에 삽입이 되면 이제 분할 할 패킷파일에서 오른쪽 마우스 클릭하여 선택하는 것만으로 쉽게 파일을 자를 수 있다.

위 예에서 300 메가 되는 파일에서 SplitCap 을 선택하였더니 , 아래와 같이 한번에 파일이 분할 되었다.

대략 23 메가 정도의 크기로 잘라졌는데, 이 정도면 PC 에서 읽어 들이는데도 문제 없을 것이다. 분명 300 메가 단일 파일을 읽는 것보다는 좋을 것이다. 앞서 -c 로 지정된 값은 여러분들이 사용하는 컴퓨터의 사용에 따라 적절하게 조정하면 된다.

이 정도면 윈도우에서 불편했던 패킷파일 자르기가 어느정도 해결이 되지 않을까?

From Rigel

P.S 이 글을 거의 다 써 놓은 시점에서 브라우저가 깨지는 바람에 썻던 글을 모두 날리고 다시 쓴 글이다. 똑같은 내용을 다시 쓰려니 어찌나 맘이 아프던지. 앞으로는 자주 저장하거나 특단의 방법을 마련해야 할 것 같다 ^^

댓글 1개:

  1. 최고 입니다. 진심으로 감사드립니다. 꾸벅!

    답글삭제