Скрытый контент. А прежде чем приступить к прочтению - загляни в мой бложик, там я публикую свои авторские статьи по программированию, вирусологии и прочим интересным вещам https://t.me/ims0rryblog Нажмите, чтобы раскрыть... Оригинал статьи - Скрытый контент. http://telegra.ph/Pishem-miniatyurnyj-HTTP-flooder-na-Python-3-12-28 Нажмите, чтобы раскрыть... Вся информация предоставлена исключительно в ознакомительных целях. Ни администрация, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.Вступление Для начала, хотелось бы отметить, как 80% типов, выучивших питон пишут HTTP-флуд: https://image.prntscr.com/image/rgTFLekgTYCCvV9u41BG2g.png Так делать не стоит, потому что, сами видите (с одного потока): https://image.prntscr.com/image/40G7ySqCR9GPd6bdmO3htA.png Этот метод сжирает очень много времени и не особо эффективен. Разве что, в плане удобства. Мы же обратимся в сторону сокетов. На их основе можно написать флудер и под TCP, и под UDP протоколы, причем, весьма неплохой. Разумеется, все в этой статье рассматривать я не буду, найти код отправки данных по udp/tcp через сокеты в питоне можно одним запросом в гугл. Шаг 1 Изменяем наш цикл (через скрин выше) на реализацию с сокетом: https://image.prntscr.com/image/mSH81C-dRBevSWbev5ji1w.png И получаем очень неплохой результат (с одного потока): https://image.prntscr.com/image/qtIyEyc2SrOruFp60Pxt5A.png Шаг 2 Набросав каркас самой атаки, можно перейти к юзабилити нашего скрипта. Параметры будем передавать через командную строку: ссылку, порт, потоки, длительность (в минутах). https://image.prntscr.com/image/riAdKIwfQTipULqGStbuTw.png Разбиваем строку ссылки таким образом, чтоб в хост попал домен, а в url - путь до файла и/или параметры. Шаг 3 Далее переносим функционал отправки запроса в цикле в отдельный класс-поток: https://image.prntscr.com/image/l7Pla3MXTH6KOZQq12TR8A.png И меняем основной цикл на цикл запусков потоков: https://image.prntscr.com/image/1XQTajUiQSylDUgFr-jO3A.png После запуска всех потоков спим указанное время (после окончания слипа программа завершится и все потоки вместе с ней). Итог Тестируем полученный результат на 10(!) потоках: https://image.prntscr.com/image/UDYIwGyFSUupZNkTA-EKBg.png На 100 потоках результат должен получиться примерно такой же, как и на моей Курияме. К слову, с более стабильным интернетом результат будет гораздо лучше. Также, на производительность влияет процессор. Тесты проводились на i7-6500U 2.5GHz, 4 cores, интернет 12 mb/s Ссылки Исходник - https://github.com/ims0rry/HTTP-flooder-python