pfring(pf_ring)编译安装
2019獨角獸企業重金招聘Python工程師標準>>>
1、pfring(pf_ring)簡介
pfring(pf_ring)主頁http://www.ntop.org/products/pf_ring/;
pfring(pf_ring)是一種加速處理數據包的實現方法,能夠比較有效地提高網卡獲取和發送數據包的速度,類似所謂的“零拷貝”技術;
pfring(pf_ring)的安裝包中帶有支持pfring(pf_ring)的libpcap,與原版的libpcap接口兼容;
2、e100e網卡上安裝pfring(pf_ring)
下載pfring(pf_ring),地址為http://www.ntop.org/get-started/download/#PF_RING
按照文檔中的說明進行編譯:
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卸載掉舊驅動,新的就會自動加載; 3、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(在源碼包中),重新編譯程序;
4、pfring(pf_ring)安裝過程中遇到的問題
pfring(fp_ring)使用過程中的kernel panic(內核崩潰):
初步測試,認為是多個使用pfring的程序同時抓包導致,同一時刻只是用一個pfring程序,一般不會出現此問題;
轉載于:https://my.oschina.net/Czl6BQ6SEmYt/blog/164322
總結
以上是生活随笔為你收集整理的pfring(pf_ring)编译安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DDD:四色原型、DDD、DCI之间的关
- 下一篇: ios 如何获得系统时间和日期