日期:2014-05-16  浏览次数:20606 次

关于用Libpcap过滤报文
最近在研究libpcap,我想用libpcap捕获goose报文进行分析。
  看了好多例子,都是在pcap_compile()中设置过滤条件,比如想捕获udp就设成pcap_compile(device,&fpo,"udp",1,netmask)
  如果想捕获tcp,就设成pcap_compile(device,&fpo,"tcp",1,netmask)。
  但是我想捕获goose报文,把tcp改成goose之后,函数会返回错误,是不是函数没有goose支持。
  这是我的其中一个想法,另一个想法就是:先不设置过滤条件,而是捕获所有的包,在callback函数里面在进行帧的判断过滤。这两种方法哪个比较好,从处理速度来考虑的话?

------解决方案--------------------
第一个想法不算想法, 不支持就换办法.
第二个想法是理所应当的, 我不清楚goose是什么, 但不论如何, 你都有能力捕获任何链路层的任何包, 并自己分析其内容.