我正在使用libpcap庫來監視HTTP請求和響應。我也基於字符串搜索和一些響應將最近的10個GET請求存儲在內存中。假設顯示器已打開,並且正在下載文件,是否會影響我的下載速度,或者是否將數據包的副本傳遞到libpcap而不影響流量?網絡速度/性能是否受基於libpcap的應用程序的影響?
以前,我使用iptables + libnetfilter_queue做同樣的事情。我的基於libnetfilter_queue的模塊在分析數據包方面有點慢,因爲很多字符串搜索和相關操作都是在每個傳出數據包上完成的,而且很少有傳入數據包。它受下載速度影響,假設使用下載加速器下載文件。當模塊運行時,與沒有運行時相比,我的下載速度更慢。可能是因爲所有的數據包都被傳遞給我的netfilter_queue模塊,然後傳遞給其他用戶應用程序。 我會面臨與libpcap相同的問題。我聽說它使用了一些零拷貝機制。
根據定義需要額外的CPU週期和內存帶寬它會產生影響,問題應該是效果的量化。 –