рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреА рдЕрд╡рд░реЛрдзрди рдпрд╛ рд╕рд░рд▓рддрдо рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░рддреЗ рд╣реИрдВ

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐



рдЕрдзреАрд░, рдЗрди рдЧреАрддрд╛рддреНрдордХ рдЦреБрджрд╛рдИ рдХреЛ рдкрдврд╝рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рджреМрд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: "рдЗрд╕реЗ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХреЛрдИ рднреА рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЗрдВрдЯрд░рдиреЗрдЯ (рдпрд╛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╣реЛрд╕реНрдЯ) рддрдХ рдкрд╣реБрдВрдЪ рди рд╣реЛ?" рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдиреЗ рдореБрдЭреЗ рджреМрд░рд╛ рдХрд┐рдпрд╛ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдкрд░ рдЖрдЧреЗ рдЙрдбрд╝рд╛рди рднрд░реАред рдФрд░ рдЖрдЬ рдореБрдЭреЗ askdev.ru рдкрд░ рдЕрдкрдиреЗ рдЖрд░рдПрд╕рдПрд╕ рд░реАрдбрд░ рдореЗрдВ рдПрдХ рдкреНрд░рд╢реНрди рдорд┐рд▓рд╛ред рдмрд╛рд╣! рд╣рд╛рдБ, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛! рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреА рдорджрдж рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕реНрд╡рдпрдВ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдПред



рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП Google рдореЗрдВ рдЪрдврд╝ рдЧрдпрд╛ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рд╕реА рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рдВрдХреЗрдд рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рд╡рд╣рд╛рдБ рд╕реЗ рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЕрдм рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЖрдИрдкреАрдЯрдмреЗрд▓ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд▓реЛрдЧ AppAmmor рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред " AppArmor рд╕реАрдЦрдиреЗ рдХреА рдмрд╣реБрдд рдЗрдЪреНрдЫрд╛ рдХреЗ рд╕рд╛рде рдЬрд▓рди , " рдореИрдВрдиреЗ рдЖрдЧреЗ рдХреА рдЦреЛрдЬ рд╢реБрд░реВ рдХреА рдФрд░ рд▓рдЧрднрдЧ рдЧрд▓рддреА рд╕реЗ рдИрдПрдирдЯреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдХреЗ рдПрдХ рд╕рдВрджреЗрд╢ рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИ, рдЬрд┐рд╕рдиреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ред



рд╡рд┐рдзрд┐



рдЗрд╕рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЛ "рдЕрдкрдиреА рдЬрдЧрд╣" рд╕реЗ рд╕рдореНтАНрдорд┐рд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдпрд╣ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рд╣реИ рдпрд╛ рдирд╣реАрдВ рдФрд░ рдЕрд╕рд▓реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз "рд╕реНрдХрд┐рдк" рдХрд░реЗрдВ рдпрд╛ рдирд╣реАрдВ - рдПрдХ рддреНрд░реБрдЯрд┐ рд▓реМрдЯрд╛рдПрдВред рд╕рдореНрдорд╛рдирд┐рдд рдЪреМрд╕рд░ рдХреЗ рд╕рдВрджреЗрд╢ рдореЗрдВ, рд╕реЙрдХреЗрдЯреНрд╕ рдХреЗ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдмреНрд▓реЙрдХрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рд╕реЗ рд╕рд░реНрд╡рд░ рдкрддреЗ рдФрд░ / рдпрд╛ рдкреЛрд░реНрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред рдпрд╣ рдореБрдЭреЗ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛, рдореБрдЭреЗ рдХреЗрд╡рд▓ рдПрдХ рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдВрдЪ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА - 80 рд╡реАрдВред рд░рдирд┐рдВрдЧ рдЯреЗрд▓рдиреЗрдЯ , рд╕реНрдЯреНрд░реЗрд╕ рдХреЗ рддрд╣рдд, рдореИрдВрдиреЗ рд▓рдЧрднрдЧ рддреБрд░рдВрдд рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╢рд┐рдХрд╛рд░ рджреЗрдЦрд╛ - рдХрдиреЗрдХреНрдЯ рдлрд╝рдВрдХреНрд╢рдиред рд╕реНрдЯреНрд░реЗрд╕ рдиреЗ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛:



connect(3, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("87.250.251.3")}, 16) = 0







рдпрд╣ рд╡рд┐рд╡рд░рдг рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдШрдЯрдХ рд╣реИрдВ: рдЖрдИрдкреА рдкрддрд╛, рдкреЛрд░реНрдЯ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдХрд╛рд░ (AF_INET)ред



рдЕрдЪреНрдЫрд╛, рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред



рдирд┐рд░реНрдгрдп



рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓рд┐рдЦреЗрдВрдЧреЗ рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрд╣рд▓реЗ рд▓реЛрдб рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛ рдЬреЛ рдЗрд╕рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИрдВ (рдФрд░ рдЬреЛ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╣реИрдВ)ред



рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рднреА рдХреЛрдб рдирд┐рдХрд╛рд▓реВрдВрдЧрд╛, рдФрд░ рдлрд┐рд░ рд╣рдо рдЕрд▓рдЧ рд╕реЗ рд╕рдм рдХреБрдЫ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред







  1. #define _GNU_SOURCE
  2. #include <dlfcn.h>
  3. # рдЕрд▓рдЧ рдХрд░реЗрдВ <stdio.h>
  4. # рдЕрд▓рдЧ рдХрд░реЗрдВ <sys / types.h>
  5. #include <sys / socket.h>
  6. #include <netinet / in .h>
  7. # рдХрд┐рдВрдХрд░реНрддрд╡реНрдпрд╡рд┐рдореВрдврд╝ <arpa / inet.h>
  8. # рдЕрд▓рдЧ рдХрд░реЗрдВ <рдвреНрдбрд╣реНрдо>
  9. рд╕реНрдерд┐рд░ int (* real_connect) ( int sockfd, const structure sockaddr * addr,
  10. socklen_t addrlen) = 0;
  11. int рдХрдиреЗрдХреНрдЯ ( int sockfd, const рд╕рдВрд░рдЪрдирд╛ sockaddr * addr,
  12. socklen_t addrlen)
  13. {
  14. рдкреНрд░рд┐рдВрдЯрдл ( "NF_DEBUG: --------------------------------------------- - [рдПрди " );
  15. int sa_family = addr-> sa_family;
  16. printf ( "NF_DEBUG: рдкрддрд╛ рдкрд░рд┐рд╡рд╛рд░:% d (AF_INET =% d) \ n" , sa_family, AF_INET);
  17. рдЕрдЧрд░ (sa_family == AF_INET)
  18. {
  19. рд╕рдВрд░рдЪрдирд╛ sockaddr_in * addr_in = ( рд╕рдВрд░рдЪрдирд╛ sockaddr_in *) (addr);
  20. рд╕рдВрд░рдЪрдирд╛ in_addr sin_addr = addr_in-> sin_addr;
  21. uint16_t sin_port = addr_in-> sin_port;
  22. uint16_t sin_port_h = ntohs (sin_port);
  23. Printf ( "NF_DEBUG: IP:% s \ n" , inet_ntoa (sin_addr));
  24. рдкреНрд░рд┐рдВрдЯрдл ( "NF_DEBUG: рдкреЛрд░реНрдЯ:% d \ n" , sin_port_h);
  25. рдЕрдЧрд░ (sin_port_h == 80)
  26. {
  27. рдкреНрд░рд┐рдВрдЯрдл ( "NF_DEBUG: рдЕрд╕реНрд╡реАрдХреГрдд! \ n" );
  28. рдкреНрд░рд┐рдВрдЯрдл ( "NF_DEBUG: --------------------------------------------- - [рдПрди " );
  29. рдЧрд╝рд▓рддреА = рдПрдиреАрдХрдЯреНрд░реЗрдЪ;
  30. рд╡рд╛рдкрд╕реА -1;
  31. }
  32. }
  33. рдЕрдЧрд░ (real_connect)
  34. real_connect = dlsym (RTLD_NEXT, "рдХрдиреЗрдХреНрдЯ" );
  35. рдкреНрд░рд┐рдВрдЯрдл ( "NF_DEBUG: рд╕реНрд╡реАрдХреГрдд \ n" );
  36. рдкреНрд░рд┐рдВрдЯрдл ( "NF_DEBUG: --------------------------------------------- - [рдПрди " );
  37. рд╡рд╛рдкрд╕реА real_connect (sockfd, addr, addrlen);
  38. }
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред




рдХреЛрдб рдкрд╛рд░реНрд╕рд┐рдВрдЧ



рдЬреЛ рд▓реЛрдЧ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд░реНрдгрди рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреМрди рд╕реА рд░реЗрдЦрд╛ рдХреНрдпрд╛ рдХрд░рддреА рд╣реИред рдпрд╣ рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред C рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЛ рдЗрд╕рдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реА рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд░реБрдЪрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред



рд▓рд╛рдЗрдиреНрд╕ 1-8 рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ; рдЙрдирдореЗрдВ рдХреБрдЫ рднреА рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред рдЬрдм рддрдХ рдирд┐рд░реНрджреЗрд╢ #define _GNU_SOURCE , рдЬреЛ dlsym рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ GNU рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред



10-12 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ, рд╣рдо "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдХрдиреЗрдХреНрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд╕рд╛рде рдЗрд╕реЗ real_connect рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ ред рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд┐рд╡рд░рдг рдореИрди рдХрдиреЗрдХреНрдЯ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред



рд▓рд╛рдЗрди 13 рдПрдХ рдирдП рдХрдиреЗрдХреНрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЬреЛ рдпрд╣ рддрдп рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЫреЛрдбрд╝рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЗрд╕рдХрд╛ рд╡рд┐рд╡рд░рдг рдореВрд▓ рдХрдиреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдЧрдд рд╣реИ рдФрд░ рдПрдХ рд╣реА рдореИрдиреБрдЕрд▓ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред



рд╕рдВрд░рдЪрдирд╛ рд╕реЗ 17 рд╡реАрдВ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╡рд╣ рд╕рднреА рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдФрд░ рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рдЬреЛ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рд▓рд┐рдпрд╛ рдерд╛ ) рд╣рдореЗрдВ рдкрддрд╛ рдкреНрд░рдХрд╛рд░ рдорд┐рд▓рддрд╛ рд╣реИред



рдпрджрд┐ рдкрддрд╛ рдкреНрд░рдХрд╛рд░ AF_INET (рд▓рд╛рдЗрди 20) рд╣реИ, рдЕрд░реНрдерд╛рдд, рдПрдкреНрд▓рд┐рдХреЗрд╢рди IPv4 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ "рдмрд╛рд╣рд░ рд╕реЗ рдкреВрдЫ рд░рд╣рд╛ рд╣реИ", рддреЛ рд╣рдо рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ (рд▓рд╛рдЗрдиреЛрдВ 22-37) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛, рд╣рдо рддреБрд░рдВрдд рдЗрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЛ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдХрдиреЗрдХреНрдЯ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред



рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдбреНрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЛ sockaddr_in рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдмрджрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдлрд╝реАрд▓реНрдб рддрдХ рдкрд╣реБрдБрдЪ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд▓рд╛рдЗрди 22 рдкрд░ рд╣реЛрддрд╛ рд╣реИред



рдЕрдЧрд▓рд╛, рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ 24-25 рд╣рдореЗрдВ рдХреНрд░рдорд╢рдГ рдкрддрд╛ рдФрд░ рдкреЛрд░реНрдЯ рдорд╛рди рдорд┐рд▓рддрд╛ рд╣реИред рд▓рд╛рдЗрди 26 рдкрд░, рд╣рдо рдкреЛрд░реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдХреНрд░рдо рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╛рд░реВрдк рд╕реЗ рдкреЛрд░реНрдЯ рдирдВрдмрд░ (80, 110, 25) рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╛рд░реВрдк рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред



28 рдкрдВрдХреНрддрд┐ рдореЗрдВ, рдкрд░рд┐рдгрд╛рдореА рдкрддрд╛ рдПрдХ рдкрд╛рда рд░реВрдк рдореЗрдВ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, 29 рд╡реАрдВ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╣рдо рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред



рдЕрдЧрд▓рд╛, 31 рдкрдВрдХреНрддрд┐ рдореЗрдВ, рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдЙрд╕ рдмреНрд▓реЙрдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдмреНрд▓реЙрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рд╣рдо рдЗрд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ (33-34 рд▓рд╛рдЗрдиреЗрдВ), рддреНрд░реБрдЯрд┐ рд╕рдВрдЦреНрдпрд╛ (рд▓рд╛рдЗрди 35) рд╕реЗрдЯ рдХрд░реЗрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ "рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИ" рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА; рдФрд░ рддреНрд░реБрдЯрд┐ (рд▓рд╛рдЗрди 36) рд╡рд╛рдкрд╕ рдХрд░реЗрдВред



рдпрджрд┐ рд╕рдм рдХреБрдЫ рдХреНрд░рдо рдореЗрдВ рд╣реИ, рдЕрд░реНрдерд╛рддреН, рдЕрдиреБрдордд рдкреЛрд░реНрдЯ рдпрд╛ рд╕реНрд╡реАрдХреГрдд рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдХрдиреЗрдХреНрдЯ рдлрд╝рдВрдХреНрд╢рди (рд▓рд╛рдЗрди 42) рдХрд╛ рдкрддрд╛ (рдПрдВрдЯреНрд░реА рдкреЙрдЗрдВрдЯ) рдорд┐рд▓рддрд╛ рд╣реИ, рдЕрдЧрд░ рд╣рдореЗрдВ рдпрд╣ рдкрд╣рд▓реЗ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ (рд▓рд╛рдЗрди 41; рдирд╣реАрдВ) рд╣рдо рдпрд╣ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рдХрд┐ real_connect рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рд╣реИ), рдпрд╣ рд▓рд┐рдЦреЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ (рд▓рд╛рдЗрдиреЗрдВ 44-45), рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдХрдиреЗрдХреНрдЯ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред



"рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдХрдиреЗрдХреНрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрддреЗ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░, рд╣рдо рдЗрд╕ рдкрддреЗ рдХреЛ рдЕрдЧрд▓реЗ рднрд░реА рд╣реБрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП RTLD_NEXT рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдкрд╣рд▓реЗ (рд╣рдорд╛рд░реЗ) рд╕реЗ рдирд╣реАрдВ, рдЕрдиреНрдпрдерд╛ рд╣рдо рдЕрдирдВрдд рдкреБрдирд░рд╛рд╡рд░реНрддреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред



рдХреЗ рдЙрдкрдпреЛрдЧ



рд╕рдВрдХрд▓рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп:



gcc -fPIC -shared -Wl,-soname,nonet.so -o nonet.so nonet.c







рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЪрд▓рд╛рдПрдВ:



LD_PRELOAD=/< >/nonet.so <>







рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА / tmp рдореЗрдВ рд╣реИ , рддреЛ рдирд┐рдореНрди рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдиреЗрдЯ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рдмрд┐рдирд╛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреА рд╣реИ (рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдХреЗрд╡рд▓ рдкреЛрд░реНрдЯ 80 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ):



LD_PRELOAD=/tmp/nonet.so firefox







рдирд┐рд╖реНрдХрд░реНрд╖



рдпрд╣ рд╡рд┐рдзрд┐ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХрддрд╛ рдФрд░ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХрддрд╛ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рд╕рд╛рде рд╣реА рдиреЛрдмреЗрд▓ рдкреБрд░рд╕реНрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЗрдЦ рднреА рд╣реИред рдпрд╣рд╛рдВ рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рджреЛ рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ, рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛: рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдПрдХреНрд╕реЗрд╕ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдирд╛ред



рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!



PS рдЗрд╕рд▓рд┐рдП рдХрд┐ рдореБрдЭреЗ рдПрдХ рдмреЗрдИрдорд╛рди рд╡реНрдпрдХреНрддрд┐ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдиреЗ askdev.ru рд╕реЗ рдбрд┐рдЬрд┐рдЯрд▓ рд╕реЗ рдХреЛрдб рдЪреБрд░рд╛рдпрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдбрд┐рдЬрд┐рдЯрд▓ рдФрд░ рдореИрдВ рдПрдХ рд╣реА рд╡реНрдпрдХреНрддрд┐ рд╣реВрдВред



UPD habercheloveka peter23 рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рд╕рднреА рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рдкрд░ рдПрдХ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ред



All Articles