GCC āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻ¸ā§āĻ¯ā§āĻā§ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤
āĻŦāĻžāĻāĻāĻā§āĻĄ āĻā§āĻ¨āĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻāĻžāĻĄāĻŧāĻžāĻ, GCC-āĻ¤ā§ eBPF-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ libgcc āĻĒā§āĻ°ā§āĻ āĻāĻŦāĻ ELF āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻ°āĻā§āĻāĻžāĻŽ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛-āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ˛ā§āĻĄāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ eBPF āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻ¸āĻŽā§āĻāĻŦ āĻāĻ°ā§āĨ¤ āĻāĻŋāĻ¸āĻŋāĻ¸āĻŋāĻ¤ā§ āĻāĻŦāĻŋāĻĒāĻŋāĻāĻĢāĻā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻāĻā§āĻ˛āĻŋ āĻāĻ°āĻžāĻāĻ˛ā§āĻ° āĻāĻā§āĻāĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ°āĻĻā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¯āĻžāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻŋāĻ˛
eBPF-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋ āĻ¸āĻŋ āĻāĻžāĻˇāĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĒāĻ¸ā§āĻā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ā§ āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻāĻā§, āĻāĻŦāĻŋāĻĒāĻŋāĻāĻĢ āĻāĻ¨ā§āĻāĻžāĻ°āĻĒā§āĻ°ā§āĻāĻžāĻ° āĻ
āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻžāĻāĻāĻā§āĻĄ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§ āĻāĻŦāĻ āĻā§āĻĄā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻā§ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻāĻ°ā§āĻĒ āĻāĻ°ā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻā§āĻ¨ āĻ˛ā§āĻĒ āĻ¨ā§āĻ)āĨ¤
āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻāĻāĻžāĻŦā§, āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§ āĻāĻŦāĻŋāĻĒāĻŋāĻāĻĢ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ˛āĻāĻ˛āĻāĻŋāĻāĻŽ-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ GCC-āĻ¤ā§ eBPF āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻ¨āĻž āĻāĻ°ā§ Linux āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻāĻŦāĻ eBPF āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
eBPF āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻāĻāĻžāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻŦā§āĻ¯āĻžāĻ¨ā§āĻĄāĻāĻāĻĨ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻŽāĻ¨āĻŋāĻāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¸ā§āĻĒā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻĢā§āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¨ā§āĻ¸āĻŋ āĻāĻŦāĻ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ kprobes/uprobes/tracepoints āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻā§āĻ°ā§āĻ¸āĻŋāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru