pcap_compile的输出有多便携?

时间:2009-12-08 18:47:01

标签: c portability pcap libpcap

pcap_compile()bpf_program结构的形式将字符串编译为过滤器程序。从理论上讲,我可以保存程序的编译形式,并将其提供给pcap_setfilter()在不同的网络接口上,甚至是在不同的机器上。

那会有用吗? bpf_program表单是否可以跨不同的接口移植?不同的流程?不同的架构?或者每次我想使用它时编译表达式最安全吗?

基于pcap_open_dead()的存在,我认为它有点便携,但是在文档中的任何地方似乎都没有说明什么是安全的,什么不是。

1 个答案:

答案 0 :(得分:1)

不,一般来说它不便携。

您可以在同一台计算机上使用它们。

在类似的机器上有点安全。 不同的架构?可能不是。也许他们有类似的类型。 不同的操作系统?不,我不推荐任何这些。

如果你真的想确定,只需在使用时编译表达式。如果你做的很少,那真的需要花费很多时间。如果你快速切换表达式,你可能想要保持一些。