有人可以請我指出一個好的開始地方,瞭解libpcap如何從網絡驅動程序獲取數據包?我的目的是用快速實施來取代接收功能。libpcap如何從驅動程序接收數據包?
0
A
回答
3
「接收功能」是:
- 標準驅動程序接收功能,無論從什麼用來接收數據包,並把它們交給正規網絡堆棧不同;
- 常規網絡堆棧的「數據包套接字」部分。
Some Intel slides on DPDK似乎表明DPDK允許用戶空間代碼更直接地交談到網絡適配器。這意味着使用libpcap的正確方法是編寫一個使用DPDK的libpcap「模塊」。
Libpcap有一段時間支持具有多個「模塊」來捕獲流量的能力。這些不是可以在運行時加載的插件模塊(可能會在某一天發生,但是,由於libpcap可能需要額外的權限才能捕獲流量,因此必須支持第三方插件模塊非常感謝 ,以防止不可信的代碼以這些特權運行!他們被編譯成libpcap。
除了用於各種操作系統的「默認」模塊之外,libpcap源中的模塊的一些示例是用於Myricom NIC的pcap-snf.c
和用於Endace DAG卡的pcap-dag.c
。
如果您想進一步探討,如果您訂閱了tcpdump-workers mailing list並繼續在那裏進行討論,那麼這可能是最好的。 (這不是一個非常高流量的列表,儘管它的名字是用於libpcap和tcpdump的用戶和開發人員;你會陷入「libpcap開發人員」類別,因爲有人正在編寫捕獲模塊。)
相關問題
- 1. 綁定驅動程序如何從服務器接口接收RX數據包
- 2. 如何用libpcap嗅探PPP數據包?
- 3. 如何處理 - 快速tx&接收數據---設備驅動程序Linux
- 4. Linux中的虛擬COM驅動程序,用於從USB設備接收數據
- 5. libpcap獲取數據包的進程ID
- 6. Py2app不包含Sqlite驅動程序 - 「數據庫錯誤:驅動程序未加載驅動程序未加載」
- 7. 如何在libpcap的包超時定期接收功能
- 8. 解析WiFi數據包(libpcap)
- 9. libpcap IP數據包重組
- 10. 從IP層傳遞數據包到設備驅動程序
- 11. 如何關閉數據庫連接Datastax Java驅動程序
- 12. 有人知道如何從OLEDB驅動程序刪除包FoxPro數據用C#
- 13. libpcap - 從所有接口捕獲數據包
- 14. 使用libpcap讀取數據包數據
- 15. 如何使用驅動程序類從陣列加載數據
- 16. GPS中間驅動程序從虛擬串口驅動程序減慢數據
- 17. 發送從UMDF驅動程序到內核模式驅動程序的IRP讀/寫數據包
- 18. 如何發送和接收從內核模式驅動程序到用戶模式的二進制數據
- 19. 如何讓C++應用程序從PHP接收數據?
- 20. 如何讓JavaScript從cpp程序接收數據?
- 21. 如何通過WiFi接收數據包
- 22. 如何連續接收UDP數據包
- 23. 驅動程序線程不發送數據包
- 24. 如何從WDM驅動程序的CreateInstance
- 25. 什麼抽象用於異步數據收集驅動程序
- 26. Java/Android:如何在接收數據包時發送數據包
- 27. libpcap setfilter()函數和數據包丟失
- 28. 在linux下接收亂序數據包
- 29. Android從不接收UDP數據包
- 30. Python:從端口接收UDP數據包
哪個平臺?其基本思想是它將自己的驅動程序插入到協議棧中。細節因平臺而異。如果你能從根本上提高一直以來一直在努力的事情的速度,那將是一件令人驚訝的事情。 – EJP
這將在Linux中。基本上,我想用Intel DPDK驅動程序替換ixgbe。 – Patrick