рдХреНрд▓рд╛рдЙрдбрдлрд╝реЗрдпрд░ рдиреЗ XDP рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЯреНрд░реИрдлрд╝рд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ xdpcap рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рд╣реИ

рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рдХрдВрдкрдиреА рдкреНрд░рд╕реНрддреБрдд рдУрдкрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ xdpcap, рдЬрд┐рд╕рдХреЗ рднреАрддрд░ tcpdump рдХреЗ рд╕рдорд╛рди рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдПрдХреНрд╕рдбреАрдкреА (рдИрдПрдХреНрд╕рдкреНрд░реЗрд╕ рдбреЗрдЯрд╛ рдкрде)ред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб рдЧреЛ рдФрд░ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд рдмреАрдПрд╕рдбреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд. рдкреНрд░реЛрдЬреЗрдХреНрдЯ рднреА рддреИрдпрд╛рд░ рдЧреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдИрдмреАрдкреАрдПрдл рдЯреНрд░реИрдлрд┐рдХ рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЛ рдмрд╛рдЗрдВрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реАред

xdpcap рдЙрдкрдпреЛрдЧрд┐рддрд╛ tcpdump/libpcap рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдПрдХ рд╣реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдХрд╛рдлреА рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЯреНрд░реИрдлрд╝рд┐рдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред Xdpcap рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдирд┐рдпрдорд┐рдд tcpdump рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ, DoS рд╕реБрд░рдХреНрд╖рд╛, рдФрд░ рд▓реЛрдб рд╕рдВрддреБрд▓рди рд╕рд┐рд╕реНрдЯрдо рдЬреЛ Linux рдХрд░реНрдиреЗрд▓ XDP рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ Linux рдХрд░реНрдиреЗрд▓ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕реНрдЯреИрдХ (tcpdump) рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреИрдХреЗрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ XDP рд╣реИрдВрдбрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдЧрд┐рд░рд╛рдП рдЧрдП рдкреИрдХреЗрдЯ рдирд╣реАрдВ рджреЗрдЦрддрд╛)ред

eBPF рдФрд░ XDP рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред eBPF рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдПрдХ рдмрд╛рдЗрдЯрдХреЛрдб рджреБрднрд╛рд╖рд┐рдпрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ / рдмрд╛рд╣рд░ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЯреЛрдВ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдпрд╛ рддреНрдпрд╛рдЧрдиреЗ рдХреЗ рдирд┐рд░реНрдгрдп рдХреЗ рд╕рд╛рде рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рд╡рд╛рд▓реЗ рд╣реИрдВрдбрд▓рд░ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬреЗрдЖрдИрдЯреА рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдИрдмреАрдкреАрдПрдл рдмрд╛рдЗрдЯрдХреЛрдб рдХреЛ рддреБрд░рдВрдд рдорд╢реАрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдореВрд▓ рдХреЛрдб рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХреНрд╕рдбреАрдкреА (рдИрдПрдХреНрд╕рдкреНрд░реЗрд╕ рдбреЗрдЯрд╛ рдкрд╛рде) рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдиреЗрдЯрд╡рд░реНрдХ рдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрддрд░ рдкрд░ рдмреАрдкреАрдПрдл рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдИрдмреАрдкреАрдПрдл рдХреЛ рдкреВрд░рдХ рдХрд░рддрд╛ рд╣реИ, рдбреАрдПрдордП рдкреИрдХреЗрдЯ рдмрдлрд░ рддрдХ рд╕реАрдзреА рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреИрдХ рджреНрд╡рд╛рд░рд╛ рд╕реНрдХреЗрдмрдл рдмрдлрд░ рдЖрд╡рдВрдЯрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

Tcpdump рдХреА рддрд░рд╣, xdpcap рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкрд╣рд▓реЗ рдорд╛рдирдХ libpcap рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЯреНрд░реИрдлрд╝рд┐рдХ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдирд┐рдпрдореЛрдВ рдХреЛ рдХреНрд▓рд╛рд╕рд┐рдХ BPF рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ (cBPF) рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд░рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ eBPF рд░реВрдЯреАрди рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреА рд╣реИред рд╕реАрдмреАрдПрдлрд╕реА, рдПрд▓рдПрд▓рд╡реАрдПрдо/рдХреНрд▓реИрдВрдЧ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред рдЖрдЙрдЯрдкреБрдЯ рдкрд░, рдЯреНрд░реИрдлрд╝рд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдорд╛рдирдХ pcap рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ tcpdump рдФрд░ рдЕрдиреНрдп рдореМрдЬреВрджрд╛ рдЯреНрд░реИрдлрд╝рд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рдореЗрдВ рдмрд╛рдж рдХреЗ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП xdpcap рдореЗрдВ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдЯреНрд░реИрдлрд╝рд┐рдХ рдбрдВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, DNS рдЯреНрд░реИрдлрд╝рд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "tcpdump ip рдФрд░ udp port 53" рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк "xdpcap /path/to/hook рдХреИрдкреНрдЪрд░.pcap 'ip рдФрд░ udp port 53тА▓" рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдХреИрдкреНрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ .pcap рдлрд╝рд╛рдЗрд▓, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "tcpdump -r" рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдпрд╛ рд╡рд╛рдпрд░рд╢рд╛рд░реНрдХ рдореЗрдВред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ