Repository navigation
Layer 4 Methods
Tip
Run python3 start.py DOCTOR first. It tells you whether raw sockets are available, which decides if the SYN, ICMP, OVH-UDP, and amplification methods can run.
- Requirements
- Connection methods
- Game and voice methods
- Amplification methods
- Proxies
- Worker behaviour
flowchart TD
M[Method] --> R{Raw socket?}
R -->|yes| S[Build IP/TCP/UDP headers]
R -->|no| N[Normal socket]
S --> P[Send packet]
N --> P
| Need | Methods |
|---|---|
| Nothing special |
TCP, UDP, CPS, CONNECTION, MINECRAFT, MCBOT, MCPE, FIVEM, FIVEM-TOKEN, TS3, VSE
|
Root or NET_RAW
|
SYN, ICMP, OVH-UDP, MEM, NTP, DNS, ARD, CLDAP, CHAR, RDP
|
| Proxy list |
TCP, CPS, CONNECTION, MINECRAFT, MCBOT
|
| Reflector file |
MEM, NTP, DNS, ARD, CLDAP, CHAR, RDP
|
Run python3 start.py DOCTOR to see whether raw sockets are available.
Opens a TCP connection and writes 1 KiB of random bytes per send. Works with HTTP, SOCKS4, and SOCKS5 proxies.
python3 start.py TCP 192.0.2.10:80 100 60
python3 start.py TCP 192.0.2.10:80 100 60 5 socks5.txtSends 1 KiB random datagrams. No proxy support.
python3 start.py UDP 192.0.2.10:80 100 60Builds raw TCP SYN packets with Impacket. The source address is the local interface address, not a random spoof. Needs root or NET_RAW.
sudo python3 start.py SYN 192.0.2.10:80 100 60Sends raw ICMP echo requests with a random 16–1024 byte payload. The port is ignored and forced to 0 internally.
sudo python3 start.py ICMP 192.0.2.10 100 60Builds raw UDP packets with HTTP-like payloads and random source ports. Useful for testing OVH-style filtering. Needs raw sockets.
sudo python3 start.py OVH-UDP 192.0.2.10:80 100 60Opens and closes a connection as fast as possible. Counts one request per successful connect.
Spawns a helper thread that opens a connection and reads until the peer closes. The parent keeps creating new helpers, so this method grows the thread count for the whole run.
| Method | Protocol | Notes |
|---|---|---|
MINECRAFT |
Java status ping | Sends handshake and status request repeatedly |
MCBOT |
Java login | Uses BungeeCord-style forwarding, then /register and /login
|
MCPE |
Bedrock ping | UDP payload aimed at Bedrock servers |
FIVEM |
FiveM getinfo
|
UDP query |
FIVEM-TOKEN |
FiveM token | Random UUID and Steam-style GUID |
TS3 |
TeamSpeak 3 | Status ping payload |
VSE |
Valve Source | Server query payload |
MCBOT reads the server's protocol version when possible, then falls back to MINECRAFT_DEFAULT_PROTOCOL from config.json. The bot name prefix also comes from config.json (MCBOT).
python3 start.py MCBOT 192.0.2.10:25565 50 60
python3 start.py MCBOT 192.0.2.10:25565 50 60 5 socks5.txtAmplification methods send a small request to a reflector and spoof the target as the source. The reflector replies to the target, multiplying the traffic.
| Method | Port | Payload |
|---|---|---|
MEM |
11211 | Memcached gets
|
NTP |
123 | NTP monitor request |
DNS |
53 | DNS ANY query |
ARD |
3283 | Apple Remote Desktop |
CLDAP |
389 | CLDAP search |
CHAR |
19 | Chargen |
RDP |
3389 | RDP connection request |
sudo python3 start.py DNS 192.0.2.10:80 100 60 dns.txtThe reflector file must contain one IPv4 address per line. See Amplification for scanning and spoofing notes.
Only these methods accept a Layer 4 proxy list:
MINECRAFT, MCBOT, TCP, CPS, CONNECTION
The syntax is:
python3 start.py TCP 192.0.2.10:80 100 60 5 socks5.txtThe proxy type is the same numbering used on Layer 7: 1 HTTP, 4 SOCKS4, 5 SOCKS5, 6 random.
Each thread waits for the shared start event, then runs its method until the duration ends. Transient socket errors such as EMFILE, ENETUNREACH, or a timeout are logged once and retried with a short backoff. A failing thread does not stop the main process.
start_workers handles thread-creation limits. If the system refuses new threads, it starts as many as it can and reports the shortfall.
MHDDoS is for authorized testing only. Use it on systems you own or have written permission to test.
Issues · Discussions · Releases · Contributing · MIT License
MHDDoS
Start here
Methods
Configuration
Interfaces
Help
Community
Project