2016-11-15 2 views
0

誰かが私にどのように説明できますかpcapパケットヘッダーがCで使用されていますか? どのように構造化され使用されているかについて明確な説明が見つかりません。実際にpcapパケットヘッダーの理解

、事は、私は確かに我々はpcapライブラリを使用する方法#include <pcap.h>

を理解していないですが、私は struct pcap_pkthdr *headerを使用する必要がありますが、私はそれを使用する方法を見つけ出すことはできません。

ありがとう

答えて

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ダンプには当てはまりません。

関連する問題