Cloudflare XDP เดธเดฌเตเดธเดฟเดธเตเดฑเตเดฑเด‚ เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เด’เดฐเต เดŸเตเดฐเดพเดซเดฟเด•เต เด…เดจเดฒเตˆเดธเตผ xdpcap เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดšเต

เด•เตเดฒเต—เดกเตเดซเตเดฒเต†เดฏเตผ เด•เดฎเตเดชเดจเดฟ ะฟั€ะตะดัั‚ะฐะฒะธะปะฐ เดคเตเดฑเดจเตเดจ เดชเดฆเตเดงเดคเดฟ xdpcap, เด…เดคเดฟเดจเตเดณเตเดณเดฟเตฝ tcpdump-เดจเต เดธเดฎเดพเดจเดฎเดพเดฏ เด’เดฐเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดชเดพเด•เตเด•เดฑเตเดฑเต เด…เดจเดฒเตˆเดธเตผ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต เดธเดฌเตเดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดคเตเดคเดฟเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดŽเด•เตเดธเตเดกเดฟเดชเดฟ (eXpress Data Path). เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด•เต‹เดกเต Go เดŽเดจเตเดจเดคเดฟเตฝ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดคเดคเต BSD เดฒเตˆเดธเตปเดธเดฟเดจเต เด•เต€เดดเดฟเตฝ. เดชเดฆเตเดงเดคเดฟเดฏเตเด‚ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏเดคเต Go เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต eBPF เดŸเตเดฐเดพเดซเดฟเด•เต เดนเดพเตปเดกเตเดฒเตผเดฎเดพเดฐเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฒเตˆเดฌเตเดฐเดฑเดฟ.

xdpcap เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟ tcpdump/libpcap เดซเดฟเตฝเดŸเตเดŸเดฑเดฟเด‚เด—เต เดŽเด•เตโ€Œเดธเตโ€Œเดชเตเดฐเดทเดจเตเด•เดณเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต, เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เด…เดคเต‡ เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเดฑเดฟเตฝ เดคเดจเตเดจเต† เดตเดฒเดฟเดฏ เด…เดณเดตเดฟเดฒเตเดณเตเดณ เดŸเตเดฐเดพเดซเดฟเด•เตเด•เตเด•เตพ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เดฒเดฟเดจเด•เตเดธเต เด•เต‡เตผเดฃเตฝ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเด‚เด—เต เดธเตเดฑเตเดฑเดพเด•เตเด•เต (tcpdump) เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เตพ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจ Linux เด•เต‡เตผเดฃเตฝ XDP เดธเดฌเตโ€Œเดธเดฟเดธเตเดฑเตเดฑเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดซเดฟเตฝเดŸเตเดŸเดฑเดฟเด‚เด—เต, DoS เดชเตเดฐเตŠเดŸเตเดŸเด•เตเดทเตป, เดฒเต‹เดกเต เดฌเดพเดฒเตปเดธเดฟเด™เต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ เดคเตเดŸเด™เตเด™เดฟเดฏ เดธเดพเดงเดพเดฐเดฃ tcpdump เดฌเดพเดงเด•เดฎเดฒเตเดฒเดพเดคเตเดค เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เดณเดฟเตฝ เดกเต€เดฌเด—เตเด—เดฟเด‚เด—เดฟเดจเตเด‚ Xdpcap เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. XDP เดนเดพเตปเดกเตโ€Œเดฒเตผ เด‰เดชเต‡เด•เตเดทเดฟเดšเตเดš เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เตพ เด•เดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒ).

eBPF, XDP เดธเดฌเตเดธเดฟเดธเตเดฑเตเดฑเด‚ เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดฒเต‚เดŸเต† เด‰เดฏเตผเดจเตเดจ เดชเตเดฐเด•เดŸเดจเด‚ เด•เตˆเดตเดฐเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚. เด‡เตปเด•เดฎเดฟเด‚เด—เต/เด”เดŸเตเดŸเตโ€Œเด—เต‹เดฏเดฟเด‚เด—เต เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เตพ เดซเต‹เตผเดตเต‡เดกเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต‹ เดจเดฟเดฐเดธเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต‹ เด‰เดณเตเดณ เดคเต€เดฐเตเดฎเดพเดจเด™เตเด™เดณเต‹เดŸเต† เด‰เดฏเตผเดจเตเดจ เดชเตเดฐเด•เดŸเดจเดฎเตเดณเตเดณ เดนเดพเตปเดกเตโ€Œเดฒเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เดฒเดฟเดจเด•เตเดธเต เด•เต‡เตผเดฃเดฒเดฟเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดš เด’เดฐเต เดฌเตˆเดฑเตเดฑเตเด•เต‹เดกเต เด‡เดจเตเดฑเตผเดชเตเดฐเต†เดฑเตเดฑเดฑเดพเดฃเต eBPF. เด’เดฐเต JIT เด•เด‚เดชเตˆเดฒเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, eBPF เดฌเตˆเดฑเตเดฑเตเด•เต‹เดกเต เดฎเต†เดทเต€เตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดจเต‡เดฑเตเดฑเต€เดตเต เด•เต‹เดกเดฟเดจเตเดฑเต† เดชเตเดฐเด•เดŸเดจเดคเตเดคเต‹เดŸเต† เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. XDP (eXpress Data Path) เดธเดฌเตเดธเดฟเดธเตเดฑเตเดฑเด‚ eBPF-เดจเต† เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดกเตเดฐเตˆเดตเตผ เดคเดฒเดคเตเดคเดฟเตฝ BPF เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต เดจเตฝเด•เตเดจเตเดจเต, DMA เดชเดพเด•เตเด•เดฑเตเดฑเต เดฌเดซเดฑเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดจเต‡เดฐเดฟเดŸเตเดŸเตเดณเตเดณ เด†เด•เตโ€Œเดธเดธเดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด‚ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดธเตเดฑเตเดฑเดพเด•เตเด•เต เดตเดดเดฟ skbuff เดฌเดซเตผ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเตเดณเตเดณ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

tcpdump เดชเต‹เดฒเต†, xdpcap เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟ เด†เดฆเตเดฏเด‚ เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เดŸเตเดฐเดพเดซเดฟเด•เต เดซเดฟเตฝเดŸเตเดŸเดฑเดฟเด‚เด—เต เดจเดฟเดฏเดฎเด™เตเด™เดณเต† เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต libpcap เดฒเตˆเดฌเตเดฐเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เตเดฒเดพเดธเดฟเด•เต BPF เดชเตเดฐเดพเดคเดฟเดจเดฟเดงเตเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต (cBPF) เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เด…เดตเดฏเต† เด’เดฐเต เด•เด‚เดชเตˆเดฒเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต eBPF เดฆเดฟเดจเดšเดฐเตเดฏเด•เดณเตเดŸเต† เดฐเต‚เดชเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. cbpfc, LLVM/Clang เดตเดฟเด•เดธเดจเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเดฟเตฝ, เดŸเตเดฐเดพเดซเดฟเด•เต เดตเดฟเดตเดฐเด™เตเด™เตพ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต pcap เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต, เด‡เดคเต tcpdump-เดฒเตเด‚ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดฎเดฑเตเดฑเต เดŸเตเดฐเดพเดซเดฟเด•เต เด…เดจเดฒเตˆเดธเดฑเตเด•เดณเดฟเดฒเตเด‚ เดคเตเดŸเตผเดจเตเดจเตเดณเตเดณ เดชเด เดจเดคเตเดคเดฟเดจเดพเดฏเดฟ xdpcap-เตฝ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏ เดŸเตเดฐเดพเดซเดฟเด•เต เดกเด‚เดชเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, DNS เดŸเตเดฐเดพเดซเดฟเด•เต เดตเดฟเดตเดฐเด™เตเด™เตพ เด•เตเดฏเดพเดชเตโ€Œเดšเตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, "tcpdump ip, udp เดชเต‹เตผเดŸเตเดŸเต 53" เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดชเด•เดฐเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต "xdpcap /path/to/hook capture.pcap 'ip, udp เดชเต‹เตผเดŸเตเดŸเต 53โ€ฒ" เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚ เดคเตเดŸเตผเดจเตเดจเต เด’เดฐเต เด•เตเดฏเดพเดชเตโ€Œเดšเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚. .pcap เดซเดฏเตฝ, เด‰เดฆเดพ. "tcpdump -r" เด•เดฎเดพเตปเดกเดฟเดจเตŠเดชเตเดชเดฎเต‹ เดตเดฏเตผเดทเดพเตผเด•เตเด•เดฟเดฒเต‹.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•