
рд▓рд┐рдирдХреНрд╕ (рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╕реЗ) рдЖрдк рди рдХреЗрд╡рд▓ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрдЪреНрдЪреЗ рд╕реЙрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдЬрдЧрд╣ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рд░реЗрдХ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдЖрдЧреЗ рдмрдврд╝рд╛рдпрд╛ред рдЕрдм рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд▓реНрджрдмрд╛рдЬреА рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдЕрднреА рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд╣рд░ рдХреЛрдИ, рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЪрд╛рд╣реЗ рд╕реА ++ рдпрд╛ рдкрд╛рдпрдерди, рдЙрдиреНрд╣реЗрдВ рдЖрдЬрд╝рдорд╛ рд╕рдХрддрд╛ рд╣реИред
рд░реЗрдХ рдХрд╛ рд╕рд╛рд░ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЬреЛ рд▓реЛрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рд╡реЗ рдЕрдкрдирд╛ рд╕рдордп рдмрд░реНрдмрд╛рдж рди рдХрд░реЗрдВред
рдореИрдВ рд╕реА рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдЦреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдЯреАрд╕реАрдкреА / рдЖрдИрдкреА рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдп рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
рдХреБрдЫ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ
рдореБрдЭреЗ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рд╣реИ рдХрд┐ рдПрдХ рдХрдЪреНрдЪреЗ рд╕реЙрдХреЗрдЯ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпреВрдбреАрдкреА:
socket(AF_INET, SOCK_RAW, IPPROTO_UDP)
рдореИрдВ рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдЙрд╕
рд╕реНрддрд░ рдкрд░ рдХрд╣реВрдВрдЧрд╛ рдЬрд┐рд╕ рдкрд░ рдХрдЪреНрдЪрд╛ рд╕реЙрдХреЗрдЯ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рдпреВрдбреАрдкреА рд╕реНрддрд░ рдкрд░ рдПрдХ рдХрдЪреНрдЪрд╛ рд╕реЙрдХреЗрдЯ рдмрдирд╛рдпрд╛ред
рдХрдЪреНрдЪреЗ рд╕реЙрдХреЗрдЯ рд╕реНрддрд░ рдЖрдкрдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╕реАрдорд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЖрдк рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдпреВрдбреАрдкреА рдФрд░ рдЖрдИрдкреА рд╣реЗрдбрд░ рджреЛрдиреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдордЬрд╝рд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ ...
рдЬреЗрд▓реА
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдордиреЗ рдпреВрдбреАрдкреА рд╕реНрддрд░ рдкрд░ 2 рдХрдЪреНрдЪреЗ рд╕реЙрдХреЗрдЯ рдмрдирд╛рдП рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпреВрдбреАрдкреА рдЗрдХреЛ рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рдпреВрдбреАрдкреА рдкреИрдХреЗрдЯ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ред рдЗрдХреЛ рд╣рдореЗрдВ рдпреВрдбреАрдкреА рдкреЗрд▓реЛрдб рд╡рд╛рдкрд╕ рд▓реМрдЯрд╛ рджреЗрдЧрд╛ред рддреЛ, рдЯреАрд╕реАрдкреА / рдЖрдИрдкреА рд╕реНрдЯреИрдХ рдкреНрд░рд╛рдкреНрдд рдкреИрдХреЗрдЯ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдкреИрдХреЗрдЯ рдХреЗ рд╣реЗрдбрд░ рдХреЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЖрдИрдкреА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЗрдВрдЧрд┐рдд рд╕реНрддрд░ рдХреЗ
рд╕рднреА рдХрдЪреНрдЪреЗ рд╕реЙрдХреЗрдЯреНрд╕ рдореЗрдВ
рдХреЙрдкреА рдХрд░реЗрдЧрд╛ ред рдореИрдВ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ - рд╣рд░ рдХрд┐рд╕реА рдкрд░, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡реЗ рднреА рдЬреЛ рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЦреБрд▓реЗ рд╣реИрдВ (рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдПрдХ рдЖрд╡реЗрджрди рдЬреЛ рдХрдЪреНрдЪреЗ рд╕реЙрдХреЗрдЯреНрд╕ рдкрд░ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд╕реБрдкрд░рдпреБрд╕рд░ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рдЪреВрдВрдХрд┐ рдпреВрдбреАрдкреА рдИрдХреЛ рд╕рд░реНрд╡рд░ рдпреВрдбреАрдкреА рдкреИрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рднреА рдХрдЪреНрдЪреЗ рдпреВрдбреАрдкреА рд╕реНрддрд░ рд╕реЙрдХреЗрдЯ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред
рд╣рдо рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░ рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВред рдХрдЪреНрдЪреЗ рд╕реЙрдХреЗрдЯ рд╕реНрддрд░ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЖрдИрдкреА рд╣реЗрдбрд░ рд╕рд╣рд┐рдд рдПрдХ рдкреВрд░рд╛ рдкреИрдХреЗрдЯ рдЗрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрдЪреНрдЪрд╛ рд╕реЙрдХреЗрдЯ рдЙрд╕ рд╕реНрддрд░ рдкрд░ рдПрдХ рд╕реНрдирд┐рдлрд░ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗрдВред
рдЙрджрд╛рд╣рд░рдг
рдореИрдВрдиреЗ рдиреЛрдЯ рдХреЛ рдХреЛрдб рд╕реЗ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдореИрдВ
рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг
github рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИред рдПрдХ cmake рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рдПрдХ рд╕рд░рд▓ рдпреВрдбреАрдкреА рдЗрдХреЛ рд╕рд░реНрд╡рд░ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛ 2 рдХрдЪреНрдЪреЗ рдпреВрдбреАрдкреА рд╕реНрддрд░ рд╕реЙрдХреЗрдЯ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдПрдХ рдбреЗрдЯрд╛ рднреЗрдЬрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЗрдВрддрдЬрд╛рд░ рдореЗрдВ рдПрдкреЛрд▓ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рдпреЛрдЧ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╢реАрдиреЛрдВ рдкрд░ рдЗрдХреЛ рд╕рд░реНрд╡рд░ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ (рдЕрдкрдиреЗ рдЖрдИрдкреА-рд╢рдирд┐рдХрд╛рдореА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЛрдб рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛)ред рдордЬрд╝реЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХреНрд╕реНрдЯреНрд░рд╛ рдХрд░рд┐рдХреБрд▓рд░ рд░реАрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ
рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ рд╣реИ ред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдФрд░ рдХрдо рд░реЗрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!