2

ここからのコードスニペット:

void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data) 
{ 
    .... 
    /* retireve the position of the ip header */ 
    ih = (ip_header *) (pkt_data + 
        14); //length of ethernet header 
    .... 

const struct pcap_pkthdr *header(定義)の目的、いつ必要なのか、どのように入力されるのか (パケット自体に以下のような情報がないため)。

代替テキスト
(出典: lewis at www.dcs.gla.ac.uk )

4

1 に答える 1

3

コメントを残しておけば、もう少し楽だったのに。それは言います:

/* Callback function invoked by libpcap for every incoming packet */

ここでは次のように述べていtypedef void(*) pcap_handler(u_char *user, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data)ます。

pkt_headerキャプチャ ドライバによってパケットに関連付けられたヘッダーです。これはプロトコル ヘッダーではありません。

于 2010-05-09T08:53:53.123 に答える