| 1234567891011121314151617181920212223242526272829303132333435 |
- #!/usr/bin/env python3
- """LOIC against a local http.server: verify N requests reach the target."""
- import sys, os, time
- sys.path.insert(0, os.path.abspath("test"))
- from _lib.local_target import http_target
- from core.mods.loic import ionize, LOIC
- err = []
- class Holder:
- def __init__(self, agents):
- self.agents = agents
- self.user_agent = agents[0]
- self.payload = ""
- self.attack_mode = "loic"
- h = Holder(["Mozilla/5.0 (UFONet-test)"])
- rounds = 7
- with http_target() as (port, counter):
- target = f"http://127.0.0.1:{port}/test"
- ionize(h, target, rounds, None)
- _deadline = time.time() + 3
- while counter["get"] < rounds and time.time() < _deadline:
- time.sleep(0.1)
- hits = counter["get"]
- if hits != rounds:
- err.append(f"expected {rounds} GET hits, got {hits}")
- print(f"loic_rounds={rounds} hits={hits}")
- for e in err:
- print("FAIL:", e)
- sys.exit(0 if not err else 1)
|