赞
踩
抓包函数
pcap_next_ex, pcap_next 抓包
#include <pcap/pcap.h>
int pcap_next_ex(pcap_t *p, struct pcap_pkthdr **pkt_header,
const u_char **pkt_data);
const u_char *pcap_next(pcap_t *p, struct pcap_pkthdr *h);
pcap_next_ex()从网卡上读包,成功获取,则参数pkt_header指向一段内存,该内存是关于包的一些信息,参数pkt_data指向抓到的数据报文
pcap_next()抓包(类似抓包函数pcap_dispatch,指定参数cnt为1),返回一个无符号指针指向抓取到的数据,参数h为包的一些基本信息
返回值:pcap_next_ex()
返回值1 成功抓取到包
返回值0 表示抓包超时
返回值-1 抓包出错,可调用 pcap_geterr()或者pcap_perror()来调试出错信息
返回值-2 文件中包已经读取完毕
pcap_next()
成功则返回指向数据包的指针
出错则返回控指针,抓包出错,从网卡上抓不到包(包因为过滤条件都被丢弃了,超时了,抓包句柄指向的网卡不支持阻塞模式而且没有任何包经过该网卡),在文件中没有包,没有有效地方法来判断该函数出错的原因
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。