Compañía Cloudflare
La utilidad xdpcap es compatible con las expresiones de filtrado tcpdump/libpcap y le permite procesar volúmenes de tráfico significativamente mayores en el mismo hardware. Xdpcap también se puede utilizar para depurar en entornos donde el tcpdump normal no es aplicable, como sistemas de filtrado, protección DoS y equilibrio de carga que utilizan el subsistema XDP del kernel de Linux, que procesa paquetes antes de que sean procesados por la pila de redes del kernel de Linux (tcpdump). no ve los paquetes descartados por el controlador XDP).
El alto rendimiento se logra mediante el uso de subsistemas eBPF y XDP. eBPF es un intérprete de código de bytes integrado en el kernel de Linux que le permite crear controladores de alto rendimiento de paquetes entrantes/salientes con decisiones sobre reenviarlos o descartarlos. Utilizando un compilador JIT, el código de bytes eBPF se traduce sobre la marcha en instrucciones de máquina y se ejecuta con el rendimiento del código nativo. El subsistema XDP (eXpress Data Path) complementa eBPF con la capacidad de ejecutar programas BPF en el nivel del controlador de red, con soporte para acceso directo al búfer de paquetes DMA y trabajo en la etapa anterior a que la pila de red asigne el búfer skbuff.
Al igual que tcpdump, la utilidad xdpcap primero traduce las reglas de filtrado de tráfico de alto nivel a la representación BPF clásica (cBPF) usando la biblioteca libpcap estándar y luego las convierte en rutinas eBPF usando un compilador.
Fuente: opennet.ru