2012-05-11 34 views
2

我做了搜索,但沒有找到任何BPF代碼在我的計算機上使用,也沒有任何示例代碼可供使用。我的目標是找到低級別的函數來過濾數據包。我正在用C語言編程。我使用的是3.2.0內核的Ubuntu 12.04。如何在ubuntu上使用berkeley數據包過濾器(BPF)

+0

[Wikipedia](http://en.wikipedia.org/wiki/Berkeley_Packet_Filter)在[netsniff-ng]中提到['bpfc'](http://netsniff-ng.org/),可能有助於這裏似乎是爲Ubuntu打包的)。 –

回答

4

你可能想看看pcap庫,從誰帶給你tcpdump的人。 Pcap是一個跨平臺的數據包過濾庫,支持BPF過濾器。

+0

是的,我對pcap很熟悉,但我需要走低層次,我需要找到如何使用BPF。如果pcap使用它,那麼在支持使用BPF的機器上必須有一些庫。 –

+0

[本文](http://www.linuxjournal.com/article/4659?page=0,0)可能會有幫助。 – larsks

+0

文章是舊的,但由於缺乏關於此領域的更多信息,我將標記答案已被接受。 –