什么是pcap_pkthdr?

时间:2010-05-09 08:41:37

标签: c networking winpcap

来自here的代码段:

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 
    .... 

definition)的const struct pcap_pkthdr *header是什么,我们什么时候需要它,它是如何填充的(因为数据包本身没有这样的信息,如下所示)?

alt text http://www.dcs.gla.ac.uk/~lewis/networkpages/m04s03EthernetFrame_files/image002.gif

1 个答案:

答案 0 :(得分:3)

如果您保留评论,那将会更容易。它说:

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

Here关于typedef void(*) pcap_handler(u_char *user, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data)

  

pkt_header是与之关联的标头   由捕获驱动程序到数据包。   它不是协议标题。