A modern, educational Wi-Fi network control & analysis toolkit
β οΈ For educational and authorised lab/CTF use only.
Always obtain explicit permission before scanning or attacking any network you do not own.
| Feature | CLI | GUI | Linux | macOS | Windows |
|---|---|---|---|---|---|
| π Live dashboard with stat cards and recent-device feed | β | β | β | β | β |
| π Fast ARP host discovery | β | β | β | β | β |
| π Balanced scan (ARP + ICMP) | β | β | β | β | β |
| π Stealth TCP SYN scan | β | β | β | β | β |
| π Real-time search & filter across the host table | β | β | β | β | β |
| βΉοΈ Host detail popup with live RTT ping & action shortcuts | β | β | β | β | β |
| π Multi-subnet scan (auto-detect all network segments) | β | β | β | β | β |
| π‘ Continuous network monitor (join/leave alerts) | β | β | β | β | β |
| π·οΈ Device identification (vendor, hostname, type) | β | β | β | β | β |
| β‘ Full MITM ARP-spoof (bi-directional) | β | β | β | β | β |
| β‘ Client-cut / Gateway-cut ARP-spoof | β | β | β | β | β |
π¦ Client speed control (via tc HTB) |
β | β | β | β | β |
| π Ping Monitor β live RTT table for multiple hosts | β | β | β | β | β |
| π MAC address anonymization | β | β | β | β | β |
| βοΈ Attack speed presets (aggressive / normal / stealth) | β | β | β | β | β |
| πΎ Export scan results to CSV or JSON | β | β | β | β | β |
| π Colour-coded activity log | β | β | β | β | β |
| π₯οΈ Modern dark-themed GUI | β | β | β | β | β |
The GUI is built with CustomTkinter and features a sleek dark theme with a sidebar navigation, live host table, log console, and action buttons.
Panels:
- Scan Network β Run scans, view live host table, export results, launch monitor mode
- Multi-Subnet β Auto-detect all network segments, manage CIDR checklist, parallel scan
- Speed Control β Throttle a client's download/upload speed with sliders (
tcHTB, Linux only) - ARP Attack β Configure & launch ARP-spoofing attacks with real-time status
- MAC Anonymize β Randomize or set a custom MAC address on your interface (Linux & macOS)
- Settings β Apply attack-speed presets or configure manually
- About β Feature list and usage disclaimer
| Linux | macOS | Windows | |
|---|---|---|---|
| Python | 3.9+ | 3.9+ | 3.9+ |
| Privileges | sudo / root |
sudo / root |
Run as Administrator |
| Packet driver | built-in | built-in | Npcap (required) |
| Extra tools | iproute2 (usually pre-installed) |
built-in ifconfig/netstat |
built-in ipconfig/route |
Windows: Install Npcap before running β Scapy requires it for raw packet access.
# 1. Clone the repository
git clone https://github.com/at0m-b0mb/Wifi-Killer.git
cd Wifi-Killer
# 2. Install Python dependencies
pip install -r requirements.txt# Linux / macOS
sudo python3 gui.py
# Windows (run Command Prompt or PowerShell as Administrator)
python gui.py# Linux / macOS
sudo python3 main.py
# Windows (run as Administrator)
python main.pysudo python3 main.py --scan-only --iface eth0 --scan-type fast --export results.json- Select interface β the interface dropdown at the top auto-detects your active adapters and the gateway.
- Scan Network tab β choose a scan type and click Start Scan. Results appear in the live table with vendor, hostname, and device-type enrichment.
- Select hosts β tick the checkboxes next to the hosts you want to target, then click Attack Selected.
- ARP Attack tab β confirm the targets, pick a method, and click Launch Attack. Click Stop & Restore to cleanly reset ARP caches.
- MAC Anonymize tab β randomize your MAC before attacking to reduce traceability (Linux & macOS only).
- Export β save the scan results as CSV or JSON from the Scan tab.
Main Menu
ββ 1. Host Discovery β Fast / Balanced / Stealth / Continuous Monitor
ββ 2. Multi-Subnet Scan β Auto-discover all reachable networks
ββ 3. ARP Attack β Full MITM / Client-cut / Gateway-cut
ββ 4. Speed / Intensity β Presets or manual config
ββ 5. MAC Anonymization β Random / OUI-preserve / Custom / Restore
ββ 6. Export Scan Report β JSON / text / HTML
ββ 7. Change interface
| Mode | Technique | Speed | Stealth |
|---|---|---|---|
| Fast | ARP broadcast sweep | ~2 s | Low |
| Balanced | ARP + ICMP ping (parallel) | ~3 s | Medium |
| Stealth | ARP seed + TCP SYN probes | ~10β30 s | High |
| Monitor | Repeated ARP sweeps every N seconds | Continuous | Low |
| Method | Description |
|---|---|
| A β Full MITM | Poisons both client β gateway ARP caches. All traffic flows through the attacker. |
| B β Client Only | Tells the client that the gateway's MAC is the attacker's. Cuts the client's outbound traffic. |
| C β Gateway Only | Tells the gateway that the client's MAC is the attacker's. Cuts inbound traffic to the client. |
ARP caches are automatically restored when you stop the attack.
Throttle a specific client's internet speed while an ARP MITM attack is active. Uses Linux tc HTB (Hierarchical Token Bucket) to shape traffic in both directions.
Note: Speed control requires the Linux
iproute2package (tccommand). It is not available on macOS or Windows β the ARP attack still works on those platforms, but per-IP bandwidth limiting is Linux-exclusive.
| Preset | Download | Upload | Use-case |
|---|---|---|---|
| π΄ Block | 0 | 0 | Completely cut the client off |
| π’ Dial-Up | 56 Kbps | 28 Kbps | Simulate ancient modem speeds |
| π‘ 1 Mbps | 1 Mbps | 0.5 Mbps | Highly degraded browsing |
| π΅ 5 Mbps | 5 Mbps | 2 Mbps | Slow but usable |
| π’ 25 Mbps | 25 Mbps | 10 Mbps | Moderate throttle |
| β‘ Full | 100 Mbps | 100 Mbps | Restore normal speed |
Or drag the sliders to any value between 0 and 100 Mbps.
Rules are removed cleanly when you click Clear All or the app exits.
| Preset | Interval | Burst | Use-case |
|---|---|---|---|
| Normal | 2 s | 1 pkt | Default β works for most scenarios |
| Aggressive | 0.5 s | 5 pkt | Reliable on noisy networks |
| Stealth | 10 s | 1 pkt | Slow re-poisoning to avoid IDS |
Options
ββ 1. Fully random MAC (unicast + locally-administered bits set correctly)
ββ 2. Random MAC, preserve OUI (keep vendor's first 3 octets)
ββ 3. Set a specific MAC manually
ββ 4. Restore original MAC
Windows: Automatic MAC changing is not supported. Use Technitium MAC Address Changer or change the
NetworkAddressregistry value manually.
Wifi-Killer/
βββ gui.py # GUI entry point (sudo python3 gui.py)
βββ main.py # CLI entry point (sudo python3 main.py)
βββ requirements.txt
βββ setup.py
βββ wifi_killer/
β βββ gui.py # Modern CustomTkinter GUI
β βββ main.py # Interactive CLI
β βββ modules/
β β βββ scanner.py # Host discovery (ARP / ICMP / TCP SYN / multi-subnet)
β β βββ attacker.py # ARP-spoof engine (MITM / cut-off)
β β βββ throttler.py # Bandwidth throttling via tc HTB (Linux only)
β β βββ anonymizer.py # MAC address changer (Linux & macOS)
β β βββ identifier.py # OUI lookup, hostname resolve, device-type guess
β β βββ config.py # Attack speed config & presets
β βββ utils/
β β βββ network.py # Cross-platform gateway, MAC, subnet, route helpers
β βββ data/
β βββ oui.json # OUI β vendor database
βββ tests/
βββ test_wifi_killer.py # Unit tests (52 tests, no root required)
pip install pytest
python -m pytest tests/ -vTests cover OUI lookup, device-type inference, attack config presets, MAC generation, network utility functions, throttler logic, and subnet helpers β all without requiring root or network access.
This project is provided strictly for educational purposes β understanding how ARP spoofing, network scanning, and MITM techniques work in controlled lab environments, CTF competitions, or on networks you explicitly own and administer.
Do NOT use this tool against any network or device without explicit written permission from the owner. Unauthorized use may violate the Computer Fraud and Abuse Act (CFAA), the Computer Misuse Act, or equivalent laws in your jurisdiction.
The author assumes no liability for any misuse of this software.
MIT License β see LICENSE for details.