2013년 7월 25일 목요일

차세대 패킷 포맷, Pcap-NG 를 알고싶다 _ 첫번째 이야기

저번 포스팅에서 pcap-ng 를 pcap 으로 그리고 pcap 을 pcap-ng 로 변환하는 방법에 대해서 소개했습니다. 오늘은 말씀드렸던것과 같이 차세대 패킷 저장 포맷인 pcap-ng 를 자세히 알아보고자 합니다. 첫번째로, pcap-ng 의 주요한 특징/기능 에 대해서 말씀드리겠습니다.

차세대 패킷 저장 포맷을 만들시 고려사항, 즉 최종 목표는 다음과 같습니다.

- Extensibility
- Portability
- Merge/Append data

확장성도 좋아야 하고 패킷 파일을 덤프한 곳에 대한 최대한 많은 정보를 포함시키고 데이터를 통합하거나 추가하기도 유연해야 했습니다. 이렇게 해서 디자인 된 것이 pcap-ng 입니다.

주요한 사항들에 대해서 아래와 같이 적어보았습니다.

- 와이어샤크 1.8 에서 기본 파일 포맷이 Pcap-NG 로 변경됨
- Tcpdump 버전 4.1.1 이상에서 Pcap-NG 를 지원
- NTAR(Network Trace Archival and Retrieval) 로 불리기도 함
- Pcap-NG 에서 메타 데이터를 포함할 수 있음 (운영체제, 패킷 캡쳐 프로그램, 캡쳐 필터 등)

<주요특징>

- 한개의 파일에 여러개의 인터페이스 트래픽이 캡쳐되어 저장될 수 있습니다. 인터페이스가 다른 형태의 데이터 링크 타입이라도 가능합니다. 예를들어 802.11, PPP 를 동시에 저장하는 것이 가능하게 되었습니다.

- 메타데이터 정보 기록이 가능합니다. 어떤 운영체제, 하드웨어 인지, 캡쳐 프로그램에 사용한 패킷 캡쳐 프로그램과 같은 정보로 와이어샤크와 dumpcap 은 Pcap-NG로 저장할때 자동생성합니다.

- 패킷 시간 기록 한계가 해결되었습니다. 현재 10^6 의 마이크로세컨드를 이용하여 표현을 하다보니 초당 999,999 개 이상의 패킷 시간 기록에 한계가 있습니다. 오늘날과 같은 1기가 이상의 고속 네트워크에서는 이 비율을 쉽게 초과하므로 문제가 있죠. pcapng 에서는 64비트 시간을 이용하여 표현하게 되어 이런 문제를 해결할 수 있습니다. 아래 화면은 10g 구간에서 패킷 덤프를 한 것으로 같은 타임스탬프가 찍히는 것을 볼 수 있습니다. 바로 이런 문제가 극복된 것이죠.
[Image]
[Image Source] CESNET

- 각 개별 프레임마다 코멘트가 기록되어 저장될 수 있습니다. 와이어샤크에서 필터이름 "pkt_comment" 로 출력이 가능합니다. 예를들어, tshark -r test.pcapng -T fields -e pkt_comment -R pkt_comment 로 사용하면 코멘트를 출력할 수 있습니다.

- 유연한 파일포맷을 제공하여 해당 포맷을 이용하는 소프트웨어에서 유연하게 사용할 수 있게 되었습니다. 포맷 형태가 블럭별로 되어 있어 필요치 않은 블럭은 제외되어도 패킷 포맷을 처리하는데 문제가 없게 되었고 이것은 도구에서 제공하는 기능상황에 따라 유연한 포맷형태로 사용가능하다는 뜻입니다.

- 각 인터페이스에 대한 메타 정보가 기록되어 있습니다. 이런 정보는 인터페이스 이름, 손실된 패킷, 캡쳐 필터 정보가 해당됩니다.

너무 길게 설명하면 지루하니 오늘은 pcap-ng 의 특징들 까지만 알아보고 다음번에 포맷에 대해서 좀더 알아보겠습니다.

[참고]
[1] PCAPNG 파일 포맷
http://www.winpcap.org/ntar/draft/PCAP-DumpFileFormat.html
[2] 차세대 패킷 포맷 PCAP-NG 를 PCAP 으로 쉽게 변환하기
http://www.packetinside.com/2013/07/pcap-ng-pcap.html

댓글 없음:

댓글 쓰기