10.1 使用WinPcap接收数据包

10.1.1 wpcap.dll库导出的相应函数

wpcap.dll库为数据包的接收提供了下列函数。

pcap_loop函数,用于接收一组数据包,其原型如下:


int pcap_loop(pcap_t*p,int cnt,pcap_handler callback,

u_char*user);


pcap_dispatch函数,用于接收一组数据包,其原型如下:


int pcap_dispatch(pcap_t*p,int cnt,pcap_handler callback,

u_char*user);


pcap_next函数,用于返回下一个可用的数据包,其原型如下:


u_charpcap_next(pcap_tp,struct pcap_pkthdr*h);


pcap_next_ex函数,用于从一个网络适配器设备或从一个脱机文件中读取一个数据包,替代pcap_next函数,其原型如下:


int pcap_next_ex(pcap_tp,struct pcap_pkthdr*pkt_header,

const u_char**pkt_data);


pcap_breakloop函数,用于设置一个标志位,该标志会强制pcap_dispatch函数或pcap_loop函数返回,而不再继续循环,其原型如下:


void pcap_breakloop(pcap_t*p);