p指向从pcap_open_offline或pcap_open_live子例程返回的包捕获描述符。 PROGRAM指向bpf_program结构,如果子例程成功,该结构将由pcap_compile子例程填充。 STR包含过滤表达式。 返回值 成功完成后,pcap_compile子例程返回 0 ,并且程序参数将保存过滤器程序。 如果pcap_compile子例程不成功,那么返回 -1。
pcap_setfilter被用来指定一个过滤器程序。fp是一个指向bpf_program结构体的指针,通常是pcap_compile()执行的结果。当失败时返回-1,此时,pcap_geterr()被用来显示错误信息;返回0表示成功。 pcap_loop int pcap_loop(pcap_t * p,int cnt, pcap_handler callback, uchar *user); 捕获数据包,不会响应pcap_ope...
fp是pcap_compile()传递过来的参数 返回值: 错误时返回-1 9. int pcap_sendpacket(pcap_t *p, u_char *buf, int size) Ø说明:手工发送一个数据包了。这个函数需要的参数:一个装有要发送数据的缓冲区,要发送的长度,和一个适配器。注意缓冲区中的数据将不被内核协议处理,只是作为最原始的数据流被发送,...
struct bpf_program *fp:指向一个子函数用于过滤,在pcap_compile()函数中被赋值; char *str:该字符串规定过滤规则; int optimize:规定了在结果代码上的选择是否被执行; bpf_u_int32 netmask:该网卡的子网掩码,可以通过pcap_lookupnet()获取; 返回值:假如成功执行,返回0,否则返回-1; 过滤规则由一个或多个原语...
返回值是一个’pcap_t’指针,它可以作为下一步调用(例如pcap_compile()等)的参数,并且指定了一个已经打开的Winpcap会话。在遇到问题的情况下,它返回NULL并且’errbuf’变量保存了错误信息。 函数1: int pcap_loop( pcap_t* p, int cnt, pcap_hander callback, ...
用于指定一个过滤器程序,fp是一个指向bpf_program结构体的指针,通常是pcap_compile返回的结果。p通常是pcap_open_live()函数返回的结果。 int pcap_dispatch ( pcap_t * p, int cnt, pcap_handler callback, u_char * user ); 这个函数用于收集和加工数据包。cnt指定用于加工的数据包的最大数量,超过了这个...
pcap_compile()和pcap_setfilter()函数的原型和使用方式如下: 1.pcap_compile(): [cpp]view plain copy 1.int pcap_compile(pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask) 参数: pt:会话句柄。 fp:表示编译过的过滤规则存储的位置。 str:字符串格式的过滤规则。
int pcap_compile(pcap_t *p,struct bpf_program *fp, char *str, int optimize,bpf_u_int32 netmask) p:表示pcap会话句柄; fp:存放编译以后的规则;(pcap 能识别的规则) str:规则表达式格式的过滤规则(filter),同tcpdump中的filter;(用户能识别的规则) ...
52、ogram *fp:指向一个子函数用于过滤,在pcap_compile()函数中被赋值; char *str:该字符串规定过滤规则; int optimize:规定了在结果代码上的选择是否被执行; bpf_u_int32 netmask:该网卡的子网掩码,可以通过pcap_lookupnet()获取; 返回值: 如果成功执行,返回0,否则返回-1;int pcap_loop(pcap_t * p, in...