Linux

pcap 和原始套接字

  • November 8, 2012

我想開發一個應用程序(如果可能,模組或使用者級)以在 RHEL 中創建一個原始套接字,直接從核心竊取所有 2 級數據包(不被其他打開的套接字路由或處理)。我想將數據包提供給 pcap 以程式方式處理某些數據包類型。最好的做法是什麼?我看過關於零拷貝網路、pcap、BPF 的文章,但我猜它們都在處理數據包擷取/拷貝?

不要給介面一個IP地址。只需啟動它,並使用 libpcap 擷取數據包。如果它沒有 IP 地址,如果您擔心,核心將不理會它。

如果您希望介面具有由核心處理的 IP 地址並僅將一些 IP 數據包重定向到您的應用程序,netfilter 可以做到。查看 NFQUEUE 或 NFLOG iptables 目標。

如果您關心數據包擷取性能,請查看PF_RING

否則,也許您可以更詳細地解釋您要嘗試做什麼,因為我不清楚。

引用自:https://unix.stackexchange.com/questions/55164