2016-11-15 7 views
0

누군가가 내게 어떻게 설명 할 수 있겠는가? pcap 패킷 헤더이 C에서 사용 되는가? 구조 및 사용 방법에 대한 명확한 설명을 찾을 수 없습니다.pcap 패킷 헤더 이해

사실,이 점은 내가는 struct pcap_pkthdr *header를 사용해야하지만 난 그것을 사용하는 방법을 알아낼 수 없습니다, 우리가 실제로 PCAP 라이브러리 #include <pcap.h>

를 사용하는 방법을 이해하지 못하는 것입니다.

감사합니다.

답변

0

Pcap은 각 패킷의 헤더를 정의합니다. pcap 파일 헤더와 함께 패킷 헤더는 pcap 덤프의 데이터를 이해할 수있게합니다.

struct pcap_file_header { 
     bpf_u_int32 magic; 
     u_short version_major; 
     u_short version_minor; 
     bpf_int32 thiszone; /* gmt to local correction */ 
     bpf_u_int32 sigfigs; /* accuracy of timestamps */ 
     bpf_u_int32 snaplen; /* max length saved portion of each pkt */ 
     bpf_u_int32 linktype; /* data link type (LINKTYPE_*) */ 
}; 

struct pcap_pkthdr { 
     struct timeval ts;  /* time stamp */ 
     bpf_u_int32 caplen;  /* length of portion present */ 
     bpf_u_int32 len;  /* length this packet (off wire) */ 
}; 

그래서 먼저 파일 헤더와 모든 캡처 된 패킷을 갖게됩니다. C에서 24 바이트의 pcap 덤프를 읽고이 바이트를 pcap 파일 헤더 구조에 매핑 할 수 있습니다. 이 후에는 모든 다른 패킷을 읽을 수 있습니다. pcap의 버전이 다르다는 것과 내가 여기서 쓴 것은 모든 pcap 덤프에 적용되지 않는다는 것에주의하십시오.

관련 문제