오늘은 PCAP 에 익숙하신 분들을 위하여 PCAP-NG 포맷을 PCAP 으로 쉽게 바꾸는 방법에 대해서 알려드릴께요.
와이어샤크가 설치되어 있다면 editcap 을 통해 쉽게 하실 수가 있습니다. editcap 의 -F 옵션을 보면 캡쳐 타입 리스트를 볼 수 있습니다.
# editcap -F
editcap: The available capture file types for the "-F" flag are:
5views - Accellent 5Views capture
btsnoop - Symbian OS btsnoop
commview - TamoSoft CommView
dct2000 - Catapult DCT2000 trace (.out format)
erf - Endace ERF capture
eyesdn - EyeSDN USB S0/E1 ISDN trace format
k12text - K12 text file
lanalyzer - Novell LANalyzer
libpcap - Wireshark/tcpdump/... - libpcap
modlibpcap - Modified tcpdump - libpcap
netmon1 - Microsoft NetMon 1.x
netmon2 - Microsoft NetMon 2.x
nettl - HP-UX nettl trace
ngsniffer - NA Sniffer (DOS)
ngwsniffer_1_1 - NA Sniffer (Windows) 1.1
ngwsniffer_2_0 - NA Sniffer (Windows) 2.00x
niobserver - Network Instruments Observer
nokialibpcap - Nokia tcpdump - libpcap
nseclibpcap - Wireshark - nanosecond libpcap
nstrace10 - NetScaler Trace (Version 1.0)
nstrace20 - NetScaler Trace (Version 2.0)
pcapng - Wireshark - pcapng
rf5 - Tektronix K12xx 32-bit .rf5 format
rh6_1libpcap - RedHat 6.1 tcpdump - libpcap
snoop - Sun snoop
suse6_3libpcap - SuSE 6.3 tcpdump - libpcap
visual - Visual Networks traffic capture
눈에 익숙한 libpcap 과 pcapng 가 보입니다. 바로 이것을 이용하면 됩니다.
1. PCAPNG 포맷 PCAP 으로 변환하기
editcap 을 이용해 캡쳐 타입과 -T 를 통해 캡슐화를 정의해 주어야 합니다. 캡슐화라는 용어가 익숙하지 않다면 다음글을 우선 참고해 보세요.
패킷을 보다 자주 접하는 캡슐화(Encapsulation)는 무엇이지?
# editcap -F libpcap -T ether test.pcapng test.pcap
만약 -T 로 encapsulation 을 지정하지 않으면 다음과 같은 에러가 발생합니다.
# editcap -F libpcap test.pcapng test3.pcapeditcap: Can't open or create test3.pcap: Files from that network type can't be saved in that forma
2. PCAP 포맷을 PCAPNG 포맷으로 변경하기
PCAPNG -> PCAP 변환이 있다면 이 반대 방법도 존재하겠죠. 여기서는 -T 옵션을 사용할 필요가 없습니다.
# editcap -F pcapng test.pcap test.pcapng
또는 tshark 를 이용할 수도 있습니다.
# tshark -F pcapng -r test.pcap -w test.pcapng
만들어진 파일을 살펴보겠습니다.
# ls -l
-rw-r--r-- 1 root root 3015906 Jul 10 06:25 test.pcap
-rw-r--r-- 1 root root 3551608 Jul 10 06:28 test.pcapng
원본 test.pcap 이 3메가 정도가 되는데, pcapng 포맷으로 변경하니 3.5 메가 정도로 크기가 증가하였습니다. file 명령어를 이용해 타입을 살펴보겠습니다.
# file test.pcapng
test.pcapng: pcap-ng capture file - version 1.0
# file test.pcap
test.pcap: tcpdump capture file (little-endian) - version 2.4 (Ethernet, capture length 1514)
정확히 포맷을 인식하고 있네요. 정상적으로 변환이 잘 된것 같습니다. 이 2개 파일을 비교하면 당연히 완전 다릅니다. 패킷 내용 자체는 같더라도 부가적으로 포함되어 있는 내용과 구조가 다르기 때문입니다.
차세대 패킷 파일 포맷, PCAP-NG 를 다음번 포스팅에서 자세히 소개해 보도록 하겠습니다.
아, 참고로 pcapng.com 에서는 온라인에서 pcap-ng 를 pcap 으로 변환할 수 있습니다.
댓글 없음:
댓글 쓰기