Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

Мастерская хакера. Стресс-тестинг сайтов, бенчмарк для команд, работа с текстом и другие полезности

Дата публикации: 23-10-2025 13:30:37

Для подписчиковПользователи Linux, знают: в терминале можно творить чудеса, если под рукой правильный набор инструментов. Покопавшись в том, что я использую сам, я отобрал то, что отношу к категории «мастхэв».

Основное содержимое страницы с новостью.

Поль­зовате­ли Linux зна­ют: в тер­минале мож­но тво­рить чудеса, если под рукой пра­виль­ный набор инс­тру­мен­тов. Покопав­шись в том, что исполь­зую сам, я отоб­рал то, что отно­шу к катего­рии «мас­тхэв».

wrk2

Ус­трой жес­ткий стресс‑тест сво­ему веб‑при­ложе­нию с помощью wrk2. Зада­ешь ути­лите количес­тво потоков и соеди­нений, сколь­ко зап­росов отправ­лять в секун­ду и вре­мя ата­ки. А потом наб­люда­ешь, выживет твое при­ложе­ние или завис­нет.

При­мер запус­ка:

wrk -t2 -c100 -d30s -R2000 http://127.0.0.1:8080/

Отчет wrk2От­чет wrk2
warning

Не исполь­зуй wrk2 про­тив чужих веб‑ресур­сов, ина­че получишь обви­нение в DoS-ата­ке.

Лог Docker во время работы wrk2Лог Docker во вре­мя работы wrk2

Ос­новные парамет­ры:

  • -t — чис­ло потоков (threads). Чем боль­ше потоков, тем шус­трее ути­лита будет управлять соеди­нени­ями;
  • -c — общее чис­ло одновре­мен­ных HTTP-соеди­нений (connections);
  • -d — про­дол­житель­ность ата­ки (duration). Фор­мат: 5s, 2m, 1h;
  • -R — количес­тво зап­росов в секун­ду (requests per second);
  • -H "Header: value" — добавить HTTP-заголо­вок к зап­росам. Под­держи­вает воз­можность ука­зать неог­раничен­ное количес­тво заголов­ков;
  • -L — вывес­ти под­робную ста­тис­тику задер­жек (HdrHistogram-style percentiles или distribution).

«Из короб­ки» ути­лита не уме­ет обхо­дить WAF, но под­держи­вает кас­томные скрип­ты на Lua. Скрип­ты поз­воля­ют кон­тро­лиро­вать весь про­цесс работы от под­готов­ки соеди­нения до его завер­шения. Ты без проб­лем выпол­нишь обфуска­цию зап­роса или дру­гие манипу­ляции по обхо­ду. Что­бы запус­тить wrk2 со скрип­том, исполь­зуй параметр -s <путь_к_файлу>.

Ус­танов­ка wrk2:

# Будем собирать wrk2 из сорцов. Если не установлены утилиты для сборки, установи

sudo apt-get install build-essential libssl-dev git -y

# Сам wrk2

git clone https://github.com/giltene/wrk2.git

cd wrk2

make

sudo cp wrk /usr/local/bin

hyperfine

С этой тул­зой ты смо­жешь выпол­нять бен­чмар­ки для команд и скрип­тов, срав­нивать вре­мя выпол­нения одной, двух и более команд с под­робной ста­тис­тикой по тес­там. Срав­ни ско­рость работы трех прог­рамм с фай­лом в 100 Мбайт:

hyperfine \

--warmup 2 \

--prepare 'dd if=/dev/urandom of=./testfile bs=1M count=100 status=none' \

'sha1sum ./testfile' \

'sha256sum ./testfile' \

'base64 ./testfile' \

--export-json hash-results.json

Сравнение скорости выполнения sha1sum, sha256sum и base64Срав­нение ско­рос­ти выпол­нения sha1sum, sha256sum и base64

Вы­вод на экран показы­вает край­ние зна­чения тес­тов. Что­бы получить под­робную инфу, исполь­зуй экспорт в JSON, CSV, Markdown, AsciiDoc или orgmode. За экспорт отве­чает параметр --export-<format>. Нап­ример: --export-json или --export-markdown.

Результат сравнения, сохраненный в JSONРе­зуль­тат срав­нения, сох­ранен­ный в JSON
warning

В опи­сании парамет­ров под запус­ком под­разуме­вает­ся запуск команд или скрип­тов, которые тес­тиру­ем при помощи hyperfine, — не самого hyperfine.

Продолжение доступно только участникам Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1Мастерская хакeра. Лезем в недра системы и работаем с файлами5723-04-2026
2Шабаш в баше. Учимся автоматизировать действия в командной строке и применять мощные утилиты5723-07-2025
3Маркетинговые уловки Linux: Как CachyOS вводит пользователей в заблуждение-2607-07-2026
4Регулируй регулярки! Выбираем инструменты для работы с RegEx5725-11-2025
5Linux Kernel Module Rootkits: How Attackers Hide After Compromising Cloud Workloads -2702-07-2026
6Linux для новичков: знакомимся с Linux Mint 19. Часть 1: установка7727-02-2019
78 Best Free and Open Source Tools for SSH Intrusion Prevention0504-07-2026
8如何在Linux中使用netstat和ss命令查看端口占用情况0511-06-2025
9Организовал весь пентест-арсенал в одном месте: всё под рукой, офлайн и на русском5728-06-2026
10Linux Rootkits Explained: How They Hide and How Defenders Can Respond0709-07-2026

Классификация: Мнения. Схожих патентов: 0. Схожих новостей: 10. Тональность: 2. Информативность: 7. Источник: xakep.ru.