pcap 과 pcapng 차이점에 대해 소개해드리겠습니다. 이 내용을 전체적으로 읽어주시면 pcap 과 pcapng 차이점을 이해하시게 될 겁니다. pcap 과 pcapng 차이점이 궁금하신 분들은 모두 읽어주시면 도움이 되실 것입니다. 아래의 글로 알아봅시다.

 

pcap 과 pcapng 차이점

pcap 은 packet capture 의 약자로 tshark 같은 툴을 이용해 TCP dump 를 추출하면

pcap 이라는 확장자로 저장이 된다.

하지만 최신버전 tshark 를 이용하여 추출하였을 때 pcapng 로 추출된 것을 확인할 수 있었다.

 

window 계열 운영체제에서는 WinPcap 라이브러리를 통해 캡처 및 분석을 할 수 있으며

linux 계열 운영체제에서는 libpcap 라이브러리를 통해 캡처 및 분석할 수 있다.

 

그럼 pcapng 는 뭘까?

pcapng 는 pcap next generation 의 약자로 기존의 pcap 을 발전시킨 파일형식이다.

기존의 pcap 파일에서 인터페이스 정보, 주석, 이름 등의 정보를 추가한 파일형식이다.

2013년쯤부터 글이 많아진 것으로 보아 201x 년 초반에 나타나지 않았을까 추정된다.

 

python dpkt ValueError: invalid tcpdump header

python 의 packet 분석 라이브러리인 dpkt 를 사용하다 에러가 난 케이스를 통해 해당 정보를 접하게 되었다.

filename 을 통해 확장자를 획득하고, pcap file 을 Read 하는 부분에서 에러가 발생했다.

 

if ext == '.pcap':
	for pkt_header, pkt_data in dpkt.pcap.Reader(pcap_file):
		...

elif ext == '.pcapng':
	for pkt_header, pkt_data in dpkt.pcapng.Reader(pcap_file):
		...


site-packages\dpkt\pcap.py", line 287, in __init__
    raise ValueError('invalid tcpdump header')
ValueError: invalid tcpdump header

 

.pcap 으로 저장된 파일이 사실 pcapng 파일이였던 케이스..

 

pcap 과 pcapng 구분방법

pcap 과 pcapng 는 HxD 같은 툴을 이용하여 헤더를 확인하는 방식으로 구분할 수 있다.

 

 

pcap file 의 first 4 bytes 는 D4 C3 B2 A1 이다.

 

pcapng file 의 first 4 bytes 는 0A 0D 0D 0A 이다.

9 byte 부터 pcap 과 동일하게 D4 C3 B2 A1 가 보인다.

 

pcap file 구성에 대한 내용은 아래 페이지에서 상세하게 확인할 수 있다.

winpcap docs 참고

https://www.winpcap.org/ntar/draft/PCAP-DumpFileFormat.html

 

다른 방법으로는 wireshark 설치 시 함께 설치되는 capinfos 를 사용할 수 있다.

command : capinfos -t <packetdump_file_path>

 

 

최종 정리

  1. pcapng 파일은 pcap 파일의 진화된 파일형식이다.
  2. packet dump file 을 Read 할 때 에러가 발생할 수 있으므로 유의할 것
  3. pcap 과 pcapng 파일 구분방법은 본문을 참고하자!

 

 

 

 

pcap 과 pcapng 차이점을 알아보았습니다. 어떻게 생각하시나요? 추가적으로 궁금하신 게 있다면 위의 글들을 참고해보세요. 이 글이 유익하셨다면 하트(공감), 댓글, 구독을 부탁드립니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기