Das Unternehmen Cloudflare hat xdpcap veröffentlicht, einen Verkehrsanalyzer basierend auf dem XDP-Subsystem.

Cloudflare hat offenes Projekt xdpcap, im Rahmen dessen ein Àhnlicher Netzwerkpaketanalyse-Tool wie tcpdump entwickelt wird, basierend auf dem Subsystem XDP (eXpress Data Path). Der Projektcode ist in der Sprache Go geschrieben und wird verbreitet unter der BSD-Lizenz. Das Projekt beinhaltet auch wurde vorbereitet eine Bibliothek zur Anbindung von eBPF-Verkehrsverarbeitern aus Anwendungen in der Programmiersprache Go.

Das Tool xdpcap ist kompatibel mit den FilterausdrĂŒcken von tcpdump/libpcap und ermöglicht die Verarbeitung von wesentlich grĂ¶ĂŸeren Verkehrsvolumen auf derselben Hardware. Xdpcap kann auch zur Fehlersuche unter Bedingungen verwendet werden, in denen herkömmliches tcpdump nicht anwendbar ist, beispielsweise wenn Filter- und Schutzsysteme gegen DoS-Angriffe sowie Lastenausgleich eingesetzt werden, die das Linux-Kernel-XDP-Subsystem verwenden, um Pakete in der Phase vor deren Verarbeitung durch den Netzwerkkernel-Stack zu verarbeiten (tcpdump sieht keine Pakete, die vom XDP-Handler verworfen werden).

Hohe Leistung wird durch den Einsatz der eBPF- und XDP-Subsysteme erreicht. eBPF ist ein im Linux-Kernel integrierter Bytecode-Interpreter, der es ermöglicht, leistungsstarke Verarbeiter von eingehenden/ausgehenden Paketen zu erstellen, die Entscheidungen ĂŒber deren Umleitung oder Verwerfung treffen. Mithilfe eines JIT-Compilers wird der eBPF-Bytecode zur Laufzeit in Maschinenbefehle ĂŒbersetzt und mit der Leistung von nativen Code ausgefĂŒhrt. Das XDP-Subsystem (eXpress Data Path) ergĂ€nzt eBPF, indem es die AusfĂŒhrung von BPF-Programmen auf der Ebene des Netzwerktreibers ermöglicht, mit UnterstĂŒtzung fĂŒr den direkten Zugriff auf den DMA-Paketpuffer und die Arbeit in der Phase vor der Zuweisung des skbuff-Puffers durch den Netzwerkstack.

Wie tcpdump ĂŒbersetzt das Tool xdpcap zunĂ€chst hochrangige Filterregeln in die klassische BPF-Darstellung (cBPF) mit der Standardbibliothek libpcap, bevor es sie in Form von eBPF-Unterprogrammen transformiert, wobei der Compiler cbpfc, der auf Technologien von LLVM/Clang basiert, verwendet wird. Am Ende werden die Verkehrsdetails im Standardformat pcap gespeichert, was es ermöglicht, den in xdpcap erstellten Verkehrs-Dump fĂŒr weitere Analysen in tcpdump und anderen bestehenden Verkehrsanalysatoren zu verwenden. Zum Beispiel kann man zur Erfassung von DNS-Verkehrsinformationen anstelle des Kommandos „tcpdump ip and udp port 53“ den Befehl „xdpcap /path/to/hook capture.pcap ‘ip and udp port 53’“ ausfĂŒhren, wonach die Datei capture.pcap z.B. mit dem Befehl „tcpdump -r“ oder in Wireshark verwendet werden kann.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster