เบเปเบฅเบดเบชเบฑเบ Cloudflare เปเบเบเบเบฒเบเปเบเบตเบ , เบเบฒเบเปเบเบเบตเปเปเบเบทเปเบญเบเบงเบดเปเบเบฒเบฐเปเบเบฑเบเปเบเบฑเบเปเบเบทเบญเบเปเบฒเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบ tcpdump เบเปเบฒเบฅเบฑเบเบเบทเบเบเบฑเบเบเบฐเบเบฒ, เบชเปเบฒเบเบเบถเปเบเบเบปเบเบเบทเปเบเบเบฒเบเบเบญเบเบฅเบฐเบเบปเบเบเปเบญเบ. (eXpress Data Path). เบฅเบฐเบซเบฑเบเปเบเบเบเบฒเบเปเบกเปเบเบเบฝเบเปเบ Go เปเบฅเบฐ เบเบฒเบเปเบเปเปเบเบญเบฐเบเบธเบเบฒเบ BSD. เปเบเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบง เบซเปเบญเบเบชเบฐเบซเบกเบธเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบนเบเบกเบฑเบเบเบปเบงเบเบฑเบเบเบฒเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบ eBPF เบเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Go.
ะฃัะธะปะธัะฐ xdpcap ัะพะฒะผะตััะธะผะฐ ั ะฒััะฐะถะตะฝะธัะผะธ ัะธะปัััะฐัะธะธ tcpdump/libpcap ะธ ะฟะพะทะฒะพะปัะตั ะพะฑัะฐะฑะฐััะฒะฐัั ะฝะฐ ัะพะผ ะถะต ะพะฑะพััะดะพะฒะฐะฝะธะธ ัััะตััะฒะตะฝะฝะพ ะฑะพะปััะธะต ะพะฑััะผั ััะฐัะธะบะฐ. Xdpcap ัะฐะบะถะต ะผะพะถะตั ะฟัะธะผะตะฝััััั ะดะปั ะพัะปะฐะดะบะธ ะฒ ััะปะพะฒะธัั , ะฒ ะบะพัะพััั ะพะฑััะฝัะน tcpdump ะฝะตะฟัะธะผะตะฝะธะผ, ะฝะฐะฟัะธะผะตั, ะบะพะณะดะฐ ะฟัะธะผะตะฝััััั ัะธััะตะผั ัะธะปัััะฐัะธะธ, ะทะฐัะธัั ะพั DoS-ะฐัะฐะบ ะธ ะฑะฐะปะฐะฝัะธัะพะฒะบะธ ะฝะฐะณััะทะบะธ, ะธัะฟะพะปัะทัััะธะต ะฟะพะดัะธััะตะผั ัะดัะฐ Linux XDP, ะพะฑัะฐะฑะฐััะฒะฐัััั ะฟะฐะบะตัั ะฝะฐ ััะฐะดะธะธ ะดะพ ะธั ะพะฑัะฐะฑะพัะบะธ ัะตัะตะฒัะผ ััะตะบะพะผ ัะดัะฐ Linux (tcpdump ะฝะต ะฒะธะดะธั ะฟะฐะบะตัั, ะพัะฑัะพัะตะฝะฝัะต ะพะฑัะฐะฑะพััะธะบะพะผ XDP).
ะััะพะบะฐั ะฟัะพะธะทะฒะพะดะธัะตะปัะฝะพััั ะดะพััะธะณะฐะตััั ะฑะปะฐะณะพะดะฐัั ะฟัะธะผะตะฝะตะฝะธั ะฟะพะดัะธััะตะผ eBPF ะธ XDP. eBPF ะฟัะตะดััะฐะฒะปัะตั ัะพะฑะพะน ะฒัััะพะตะฝะฝัะน ะฒ ัะดัะพ Linux ะธะฝัะตัะฟัะตัะฐัะพั ะฑะฐะนัะบะพะดะฐ, ะฟะพะทะฒะพะปัััะธะน ัะพะทะดะฐะฒะฐัั ะฒััะพะบะพะฟัะพะธะทะฒะพะดะธัะตะปัะฝัะต ะพะฑัะฐะฑะพััะธะบะธ ะฒั ะพะดััะธั /ะธัั ะพะดััะธั ะฟะฐะบะตัะพะฒ ั ะฟัะธะฝััะธะตะผ ัะตัะตะฝะธะน ะพะฑ ะธั ะฟะตัะตะฝะฐะฟัะฐะฒะปะตะฝะธะธ ะธะปะธ ะพัะฑัะฐััะฒะฐะฝะธะธ. ะัะธ ะฟะพะผะพัะธ JIT-ะบะพะผะฟะธะปััะพัะฐ ะฑะฐะนัะบะพะด eBPF ะฝะฐ ะปะตัั ััะฐะฝัะปะธััะตััั ะฒ ะผะฐัะธะฝะฝัะต ะธะฝััััะบัะธะธ ะธ ะฒัะฟะพะปะฝัะตััั ั ะฟัะพะธะทะฒะพะดะธัะตะปัะฝะพัััั ะฝะฐัะธะฒะฝะพะณะพ ะบะพะดะฐ. ะะพะดัะธััะตะผะฐ XDP (eXpress Data Path) ะดะพะฟะพะปะฝัะตั eBPF ะฒะพะทะผะพะถะฝะพัััั ะทะฐะฟััะบะฐัั BPF-ะฟัะพะณัะฐะผะผั ะฝะฐ ััะพะฒะฝะต ัะตัะตะฒะพะณะพ ะดัะฐะนะฒะตัะฐ, ั ะฟะพะดะดะตัะถะบะพะน ะฟััะผะพะณะพ ะดะพัััะฟะฐ ะบ DMA-ะฑััะตัั ะฟะฐะบะตัะพะฒ ะธ ัะฐะฑะพัะพะน ะฝะฐ ััะฐะดะธะธ ะดะพ ะฒัะดะตะปะตะฝะธั ะฑััะตัะฐ skbuff ัะตัะตะฒัะผ ััะตะบะพะผ.
เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบ tcpdump, เบเบปเบเบเบฐเปเบซเบเบ xdpcap เบเปเบฒเบญเบดเบเปเบเบเบปเบเบฅเบฐเบเบฝเบเบเบฒเบเบเบฑเปเบเบเบญเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเบฅเบฐเบเบฑเบเบชเบนเบเปเบเบปเปเบฒเปเบเปเบเบเบฒเบเปเบเบฑเบเบเบปเบงเปเบเบ BPF เบเบฅเบฒเบชเบชเบดเบ (cBPF) เปเบเบเปเบเปเบซเปเบญเบเบชเบฐเบซเบกเบธเบ libpcap เบกเบฒเบเบเบฐเบเบฒเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฝเบเบเบงเบเบกเบฑเบเปเบเบปเปเบฒเปเบเปเบเบฎเบนเบเปเบเบเบเบญเบ eBPF เบเบปเบเบเบฐเบเบดเปเบเบเปเบเป compiler. , เบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเบฑเบเบเบฐเบเบฒ LLVM/Clang. เบขเบนเปเบเบตเปเบเบปเบเบเบฐเบฅเบดเบ, เบเปเปเบกเบนเบเบเบฒเบเบเบฒเบฅเบฐเบเบญเบเบเบฐเบเบทเบเบเบฑเบเบเบถเบเปเบงเปเปเบเบฎเบนเบเปเบเบ pcap เบกเบฒเบเบเบฐเบเบฒเบ, เปเบเบดเปเบเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเบตเปเปเบซเบเบทเปเบญเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเบเบตเปเบเบฐเบเบฝเบกเปเบ xdpcap เบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบถเบเบชเบฒเบเปเปเปเบเปเบ tcpdump เปเบฅเบฐเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเบญเบทเปเบเปเบเบตเปเบกเบตเบขเบนเป. เบเบปเบงเบขเปเบฒเบ, เปเบเบทเปเบญเปเบเบฑเบเบเปเบฒเบเปเปเบกเบนเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบ DNS, เปเบเบเบเบตเปเบเบฐเปเบเปเบเปเบฒเบชเบฑเปเบ "tcpdump ip and udp port 53", เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ "xdpcap /path/to/hook capture.pcap 'ip and udp port 53โฒ" เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเป capture. เปเบเบฅเป .pcap, เปเบเบฑเปเบ: เบเปเบงเบเบเบณเบชเบฑเปเบ "tcpdump -r" เบซเบผเบทเปเบ Wireshark.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru
