2012-04-08 4 views
2

Ist es möglich, Null-Kopie-Pakete Mechanismus zum Lesen von Paketen mit libpcap unter Linux zu verwenden? (Ich benutze CentOS 6.2) Wenn ja, kann ich irgendein Beispiel des Codes sehen?Zero-Copy-Mechanismus und libpcap

Antwort

3

Ja, libpcap 1.0 und später tun es, obwohl spätere Versionen von libpcap eine Anzahl von Fehlern behoben haben, so dass je später die Version von libpcap verwendet wird, desto besser es funktioniert. Code, der in die Standard-libpcap-APIs geschrieben wird, verwendet die Zero-Copy-Erfassung unter Linux mit libpcap 1.0 und höher.

(Netsniff-ng seinen eigenen Code hat Pakete zu erfassen, anstatt libpcap verwenden.)

+0

Meinen Sie libpcap0.8 1. * haben Null-Kopie? – SuB

+1

"libpcap 1.0 und später tun es" enthält "das Debian-Paket, das sehr verwirrend libpcap0.8 genannt wird, hat es in den Versionen, die libpcap 1.0 und später verpacken". Oder, um es anders auszudrücken, Sie können "0.8" durch "mein Hovercraft ist voll von Aalen" im Namen des Debian-Pakets ersetzen und der neue Paketname wird Sie nicht mehr oder weniger über die tatsächliche libpcap-Version in der Paket als der alte Paketname tat; das "0.8" sollte als dekorativ betrachtet werden und nicht als irgendein Hinweis auf die Versionsnummer der libpcap. –

1

Ja, anscheinend netsniff-ng tut es. Ich empfehle den Code zu überprüfen.

Verwandte Themen