0

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

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

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

4

1 回答 1

1

不,它通常不是便携式的。

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

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

如果您真的想确定,只需在使用时编译表达式即可。如果你很少这样做,那真的需要很短的时间。如果您要快速切换表达式,则可能需要保留一些。

于 2009-12-11T22:20:09.033 回答