рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рдЬреАрд╡рди рдЬрдЯрд┐рд▓рддрд╛ рд╕реЗ рдШрд┐рд░рд╛ рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдкреНрд░рд┐рдп рдЬрдм рдЗрди рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕реНрд░реЛрдд рдЕрдЬреНрдЮрд╛рдд рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд╕рд╛рде, рдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде, рдпрд╛ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдпрд╛ рдмрд╛рд╣рд░реА рдПрдкреАрдЖрдИ рдЫреЛрдЯреА рдЧрд╛рдбрд╝реА рд╣реИ? рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдЧрдардиреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдЬреАрд╡рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдХреБрдЫ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЙрдкрдХрд░рдг рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЕрдореВрд▓реНрдп рд▓рдЧрддреЗ рд╣реИрдВред
cURLcURL рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИ, рдЬреЛ рдХрд┐ wget рдХреЗ рд╕рдорд╛рди рд╣реИред рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ wget рджреНрд╡рд╛рд░рд╛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ cURL рдЗрд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рддреЛ рдЖрдк рдмрд╣реБрдд рд╣реА рдЖрд╕рд╛рдиреА рд╕реЗ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд╛ рдХрдВрдЯреЗрдВрдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдЖрдкрдХреЗ рд╡рд░реНрддрдорд╛рди рдмрд╛рд╣рд░реА IP рдХреЛ рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╣реИ:
$ curl ifconfig.me 93.96.141.93
-I (рд╢реЛ рд╣реЗрдбрд░) рдФрд░
-I (рдХреЗрд╡рд▓ рд╣реЗрдбрд░ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ) рд╡рд┐рдХрд▓реНрдк HTTP рдкреНрд░рддрд┐рд╕рд╛рджреЛрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░реАрди рдЯреВрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕рд░реНрд╡рд░ рдЖрдкрдХреЛ рднреЗрдЬрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдареАрдХ-рдареАрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ:
$ curl -I habrahabr.ru HTTP/1.1 200 OK Server: nginx Date: Thu, 18 Aug 2011 14:15:36 GMT Content-Type: text/html; charset=utf-8 Connection: keep-alive Keep-alive: timeout=25
-L рд╡рд┐рдХрд▓реНрдк рднреА рдЙрдкрдпреЛрдЧреА рд╣реИ, рдпрд╣ рд╕реНрд╡рдд: рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП cURL рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред CURL HTTP рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рдХреБрдХреАрдЬрд╝, HTTP рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд░рдВрдЧ рдмрдирд╛рдирд╛, рд╣реЗрдбрд░ рдореЗрдВ рдореИрдиреБрдЕрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдШреЗрд░рд╛рдмрдВрджреАрдШреЗрд░рд╛рдмрдВрджреА рдПрдХ рддрдирд╛рд╡ рдкрд░реАрдХреНрд╖рдг рдЙрдкрдХрд░рдг рд╣реИред рд╕рд╛рде рд╣реА, рдЗрд╕рдореЗрдВ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ
-g рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдЬреЛ
рдХрд░реНрд▓-рдЖрдИрдПрд▓ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ http рдЕрдиреБрд░реЛрдз рдХреЗ рд╣реЗрдбрд░ рднреА рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ google.com рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдХреБрдЫ рд╣реЗрдбрд░ рд╢реЙрд░реНрдЯ рдХреЗ рд▓рд┐рдП рд╣рдЯрд╛ рджрд┐рдП рдЧрдП рд╣реИрдВ):
$ siege -g www.google.com GET / HTTP/1.1 Host: www.google.com User-Agent: JoeDog/1.00 [en] (X11; I; Siege 2.70) Connection: close HTTP/1.1 302 Found Location: http://www.google.co.uk/ Content-Type: text/html; charset=UTF-8 Server: gws Content-Length: 221 Connection: close GET / HTTP/1.1 Host: www.google.co.uk User-Agent: JoeDog/1.00 [en] (X11; I; Siege 2.70) Connection: close HTTP/1.1 200 OK Content-Type: text/html; charset=ISO-8859-1 X-XSS-Protection: 1; mode=block Connection: close
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдШреЗрд░рд╛рдмрдВрджреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддрдирд╛рд╡ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдорд╣рд╛рди рд╣реИред рдЕрдкрд╛рдЪреЗрд╡рд╕реНрдХреА рдмреЗрдВрдЪрдорд╛рд░реНрдХ
рдПрдм рдХреА рддрд░рд╣ , рдпрд╣ рд╕рд╛рдЗрдЯ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдЕрдиреБрд░реЛрдз рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реИред рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдо 30 рд╕реЗрдХрдВрдб рдореЗрдВ 20 рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде Google рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ:
$ siege -c20 www.google.co.uk -b -t30s ... Lifting the server siege... done. Transactions: 1400 hits Availability: 100.00 % Elapsed time: 29.22 secs Data transferred: 13.32 MB Response time: 0.41 secs Transaction rate: 47.91 trans/sec Throughput: 0.46 MB/sec Concurrency: 19.53 Successful transactions: 1400 Failed transactions: 0 Longest transaction: 4.08 Shortest transaction: 0.08
рдШреЗрд░рд╛рдмрдВрджреА рдХреА рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рди рдХреЗрд╡рд▓ рдПрдХ рдкрддреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ URL рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рддрдирд╛рд╡ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╕рд╛рдЗрдЯ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рди рдХрд┐ рдмрд╛рд░-рдмрд╛рд░ рдЙрд╕реА URL рдХреЛ рд░реАрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдЕрдкрд╛рдЪреЗ рд▓реЙрдЧ рдХреЗ рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрд╡рд░ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдШреЗрд░рд╛рдмрдВрджреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП:
$ cut -d ' ' -f7 /var/log/apache2/access.log > urls.txt $ siege -c<concurreny rate> -b -f urls.txt
NgrepрдПрдХ рдЧрдВрднреАрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП, рд╣рдЬрд╝рд╛рд░реЛрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде
Wireshark рд╣реИред
Tshark рдХрдорд╛рдВрдб рд▓рд╛рдЗрди
рд╕рдВрд╕реНрдХрд░рдг рднреА рд╣реИ ред рд▓реЗрдХрд┐рди рд╕рд░рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╡рд┐рдВрдбрд╕рд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдмреЗрдорд╛рдиреА рдорд╛рдирддрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ рдореБрдЭреЗ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣рдерд┐рдпрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА, рддрдм рддрдХ рдореИрдВ
рдПрдирдХреНрд░реЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛
рд╣реВрдВ ред рдпрд╣ рдЖрдкрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯ рдХреЗ рд╕рд╛рде рд╡реИрд╕рд╛ рд╣реА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐
grep рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рд╣реИред
рд╡реЗрдм рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рд▓рд┐рдП, рдЖрдк рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рд▓рд╛рдЗрди рд╕реНрд╡рд░реВрдкрдг рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
-W рд╡рд┐рдХрд▓реНрдк рдФрд░ рд╕рд╛рде рд╣реА
-q рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдиреБрдЪрд┐рдд рдкреИрдХреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрдорд╛рдВрдб рд╣реИ рдЬреЛ GET рдпрд╛ POST рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕рднреА рдкреИрдХреЗрдЯреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ:
ngrep -q -W byline "^(GET|POST) .*"
рдЖрдк рдкреИрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝рд┐рд▓реНрдЯрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╣реЛрд╕реНрдЯ, рдЖрдИрдкреА рдкрддреЗ рдпрд╛ рдкреЛрд░реНрдЯ рджреНрд╡рд╛рд░рд╛ред рдпрд╣рд╛рдБ google.com, рдкреЛрд░реНрдЯ 80 рдкрд░ рд╕рднреА рдЗрдирдмрд╛рдЙрдВрдб рдФрд░ рдЖрдЙрдЯрдмрд╛рдЙрдВрдб рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ "рдЦреЛрдЬ" рд╢рдмреНрдж рд╣реИред
ngrep -q -W byline "search" host www.google.com and port 80