2010년 4월 15일 목요일

와이어샤크를 이용한 패킷파일에서 바이너리 파일 추출하기

캡쳐된 패킷파일에서 바이너리 파일은 어떻게 추출하여 저장 해야 할까 ? 패킷파일에서 실행파일이나 이미지 ,문서파일등과 같이 전송된 내용이 있으면 그것만을 패킷파일에서 떼어내어 저장하고 확인할 필요가 있다.

Follow TCP Stream 기능을 이용하면 통신 내용을 한눈에 보여주긴 하지만, 원하는 파일을 바로
바이너리로 저장할 수는 없다. 또한,  하나의 통신안에 다수의 파일이 포함된 경우라면 더욱 복잡해진다.
물론, RAW 파일로 저장하는 기능이 있지만 모든 통신 내용을 포함하는 것이다 보니 내가 원하는 바이너리
파일만 뽑아내기가 힘들어진다.

만약 HTTP 로 통신한 경우라면 좀더 쉽게 바이너리를 뽑아낼 수 있는 기능을 와이어샤크에서 찾아볼 수 있다.

File -> Export ->Objects -> HTTP

를 클릭해 보면 아래와 같이 오브젝트 리스트를 볼 수가 있다.

파일이름과 사이즈도 보인다. 원하는 파일을 선택하여 Save As 로 쉽게 저장이 가능하다. 알고보면 이렇게
쉬운 기능을 제공해 주는 것이 있다. 이와 비슷한 형태지만 데이터가 와이어샤크에서 Reassemble 이 가능한 경우라면 바로 RAW 데이터로 저장할 수 도 있다. 예를 들면 위 그림에서 SO8DrawCS.pdf 파일이 보인다.
전송된 부분을 클릭해 보면 아래와 같이 Reassembled 되어서 전체 길이인 91779 bytes 가 한 화면에 보인다.
선택한 해당 프레임은 1313 바이트지만, 이런 기능을 제공해 주어 좀더 쉽게 볼 수 있도록 해준다.
각 프레임 마다의 헤더는 없이 전송된 데이터를 이렇게 보여주니 해당 데이터를 바로 저장하면 원하는 형태로
뽑을 수 있다. 아래 선택된 부분을 저장하기 위해서는 Ctrl+H 를 눌러보자. 저장할 이름을 물어보고 바로 저장이 될 것이다.


이외에도 패킷 파일에서 데이터를 추출하기 위한 방법이 있는데, 이것은 다음번에 다뤄보기로 한다.
일단, 오늘은 와이어샤크의 기능을 활용하여 부분적으로는 쉽게 데이터를 추출하여 저장할 수 있다는 점을
기억하면 된다.


댓글 없음:

댓글 쓰기