当前位置: 技术问答>linux和unix
关于libpcap的几个疑问
来源: 互联网 发布时间:2016-02-09
本文导语: int pcap_compile(pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask)用来过滤包,str是要过滤的字符串,这个字符串是不是可以随便设置的?是从数据包的内容中进行过滤吗?那网络上有多种协议的数据包,又...
int pcap_compile(pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask)用来过滤包,str是要过滤的字符串,这个字符串是不是可以随便设置的?是从数据包的内容中进行过滤吗?那网络上有多种协议的数据包,又是如何取得各数据包的内容的?我猜想要对捕获来的数据包进行协议转换吧?那又回到第一个问题,怎么过滤的?
|
第三个参数char *str是过滤串表达式,语法还是相对复杂的,要查一下tcpdump指南,这个网址上也有介绍:
http://blog.csdn.net/zhaoyc_59211/archive/2007/08/30/1766081.aspx
比如
pszfilter = "ether src 00:90:41:c0:c1:c2 || ether dst 00:90:41:c0:c1:c3";
pcap_compile(fp, &fcode, pszfilter, 1, netmask);
上面的意思就是pcap过滤留下 目的mac为00-90-41-c0-c1-c2,源mac为00-90-41-c0-c1-c3
http://blog.csdn.net/zhaoyc_59211/archive/2007/08/30/1766081.aspx
比如
pszfilter = "ether src 00:90:41:c0:c1:c2 || ether dst 00:90:41:c0:c1:c3";
pcap_compile(fp, &fcode, pszfilter, 1, netmask);
上面的意思就是pcap过滤留下 目的mac为00-90-41-c0-c1-c2,源mac为00-90-41-c0-c1-c3
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。