pfring(pf_ring)編譯安裝

一、pfring(pf_ring)簡介網絡

pfring(pf_ring)主頁http://www.ntop.org/products/pf_ring/;tcp

pfring(pf_ring)是一種加速處理數據包的實現方法,可以比較有效地提升網卡獲取和發送數據包的速度,相似所謂的「零拷貝」技術;測試

pfring(pf_ring)的安裝包中帶有支持pfring(pf_ring)的libpcap,與原版的libpcap接口兼容;spa

二、e100e網卡上安裝pfring(pf_ring)接口

下載pfring(pf_ring),地址爲http://www.ntop.org/get-started/download/#PF_RING文檔

按照文檔中的說明進行編譯:get

cd PF_RING/kernel make sudo insmod ./pf_ring.ko cd ../userland make源碼

源碼目錄結構以下:編譯

drivers:支持pfring的網絡驅動,要是用使用pfring的話,須要進入到相應的驅動目錄用make install命令安裝;下載

kernel:內核模塊代碼;好像是5.0之後的pfring都不準要從新編譯內核,只須要按照上面的命令編譯經過之後,插入模塊sudo insmod ./pf_ring.ko就能使用;

userland:pfring提供的用戶應用程序,主要包括libpcap-1.1.1-ring(支持pfirng 的libpcap,若是要用pfring,須要卸載掉原來的libpcap安裝此libpcap)、tcpdump-4.1.1(支持pfring的tcpdump,可用來測試pfring的抓包速率)、examples(一些pfring用例,包括pfcount:一個支持數據包統計程序;pcount:未支持pfring的數據包統計程序;pfsend:支持pfring的數據包發送程序)、snort(基於pfring的snortsp的DAQ模塊);

按照上面的方法編譯完成之後,進入本身的網絡驅動對應的drivers目錄,個人驅動時e1000e,則進入PF_RING-5.0.0/drivers/PF_RING_aware/intel/e1000e/e1000e-1.3.10a/src目錄,make,makeinstall之後,新的支持pfring的e1000e驅動就安裝好了,用rmmod e1000e卸載掉舊驅動,新的就會自動加載; 三、pfring(pf_ring)用法

在用支持pfring的抓包程序來抓包之前,還須要插入pr_ring模塊,命令以下:insmod pf_ring.ko transparent_mode=2;關於pf_ring選項,在下一篇文章中講;

此時,就能夠用pfring帶的tcpdump和pfcount來抓包了。

pfring對小包的提速效果較好,我用千兆的發包儀器線速發包,對於64的小包,pfring的接受速率時通常的libpcap的2-3倍;可是對於1518的大包,速度好像就差很少了。

注意:本身程序若是要是用pfring,則須要安裝pfring自帶的libpcap-ring(在源碼包中),從新編譯程序;

四、pfring(pf_ring)安裝過程當中遇到的問題

pfring(fp_ring)使用過程當中的kernel panic(內核崩潰):

初步測試,認爲是多個使用pfring的程序同時抓包致使,同一時刻只是用一個pfring程序,通常不會出現此問題;

相關文章
相關標籤/搜索