pcap_next_ex()函数

pcap_next_ex(pcap_t* p,struct pcap_pkthdr** pkt_header,const u_char** pkt_data)

功能: 从interface或离线记录文件获取一个报文

参数: p: 已打开的捕捉实例的描述符

         pkt_header: 报文头

         pkt_data: 报文内容

返回值: 1: 成功

             0: 获取报文超时

            -1: 发生错误

            -2: 获取到离线记录文件的最后一个报文

 

其中:

struct pcap_pkthdr

{

      struct timeval ts;   ts是一个结构struct timeval,它有两个部分,第一部分是1900开始以来的秒数,第二部分是当前秒之后的毫秒数

      bpf_u_int32 caplen;  表示抓到的数据长度

      bpf_u_int32 len;    表示数据包的实际长度

}

 

使用方法:

 while ((res = pcap_next_ex(fp, &header, &pkt_data)) >= 0)
    {
        //超时
        if (res == 0)
            continue;
。。。。。。。。。。
。。。。。。


     }

 

posted @ 2019-08-05 10:06  盖世猪猪侠  阅读(7099)  评论(1编辑  收藏  举报