Công ty Cloudflare
Tiện ích xdpcap tương thích với các biểu thức lọc tcpdump/libpcap và cho phép bạn xử lý khối lượng lưu lượng truy cập lớn hơn đáng kể trên cùng một phần cứng. Xdpcap cũng có thể được sử dụng để gỡ lỗi trong các môi trường không áp dụng tcpdump thông thường, chẳng hạn như hệ thống lọc, bảo vệ DoS và cân bằng tải sử dụng hệ thống con XDP nhân Linux, xử lý các gói trước khi chúng được xử lý bởi ngăn xếp mạng nhân Linux (tcpdump không thấy các gói bị loại bỏ bởi trình xử lý XDP).
Hiệu suất cao đạt được thông qua việc sử dụng các hệ thống con eBPF và XDP. eBPF là trình thông dịch mã byte được tích hợp trong nhân Linux cho phép bạn tạo các trình xử lý hiệu suất cao cho các gói đến/đi với các quyết định về việc chuyển tiếp hoặc loại bỏ chúng. Bằng cách sử dụng trình biên dịch JIT, mã byte eBPF được dịch nhanh chóng thành các lệnh máy và được thực thi với hiệu suất của mã gốc. Hệ thống con XDP (eXpress Data Path) bổ sung cho eBPF khả năng chạy các chương trình BPF ở cấp trình điều khiển mạng, hỗ trợ truy cập trực tiếp vào bộ đệm gói DMA và hoạt động ở giai đoạn trước khi bộ đệm skbuff được phân bổ bởi ngăn xếp mạng.
Giống như tcpdump, tiện ích xdpcap trước tiên chuyển các quy tắc lọc lưu lượng cấp cao thành biểu diễn BPF cổ điển (cBPF) bằng thư viện libpcap tiêu chuẩn, sau đó chuyển đổi chúng thành dạng quy trình eBPF bằng trình biên dịch
Nguồn: opennet.ru