Wifijammer - Continuously jam all wifi clients/routers

Overview

wifijammer

Continuously jam all wifi clients and access points within range. The effectiveness of this script is constrained by your wireless card. Alfa cards seem to effectively jam within about a block radius with heavy access point saturation. Granularity is given in the options for more effective targeting.

Requires: python 2.7, python-scapy, a wireless card capable of injection

Usage

Simple

python wifijammer

This will find the most powerful wireless interface and turn on monitor mode. If a monitor mode interface is already up it will use the first one it finds instead. It will then start sequentially hopping channels 1 per second from channel 1 to 11 identifying all access points and clients connected to those access points. On the first pass through all the wireless channels it is only identifying targets. After that the 1sec per channel time limit is eliminated and channels are hopped as soon as the deauth packets finish sending. Note that it will still add clients and APs as it finds them after the first pass through.

Upon hopping to a new channel it will identify targets that are on that channel and send 1 deauth packet to the client from the AP, 1 deauth to the AP from the client, and 1 deauth to the AP destined for the broadcast address to deauth all clients connected to the AP. Many APs ignore deauths to broadcast addresses.

python wifijammer -a 00:0E:DA:DE:24:8E -c 2

Deauthenticate all devices with which 00:0E:DA:DE:24:8E communicates and skips channel hopping by setting the channel to the target AP's channel (2 in this case). This would mainly be an access point's MAC so all clients associated with that AP would be deauthenticated, but you can also put a client MAC here to target that one client and any other devices that communicate with it.

Advanced

python wifijammer -c 1 -p 5 -t .00001 -s DL:3D:8D:JJ:39:52 -d --world
  • -c, Set the monitor mode interface to only listen and deauth clients or APs on channel 1

  • -p, Send 5 packets to the client from the AP and 5 packets to the AP from the client along with 5 packets to the broadcast address of the AP

  • -t, Set a time interval of .00001 seconds between sending each deauth (try this if you get a scapy error like 'no buffer space')

  • -s, Do not deauth the MAC DL:3D:8D:JJ:39:52. Ignoring a certain MAC address is handy in case you want to tempt people to join your access point in cases of wanting to use LANs.py or a Pineapple on them.

  • -d, Do not send deauths to access points' broadcast address; this will speed up the deauths to the clients that are found

  • --world, Set the max channel to 13. In N. America the max channel standard is 11, but the rest of the world uses 13 channels so use this option if you're not in N. America

Walking/driving around

python wifijammer -m 10

The -m option sets a max number of client/AP combos that the script will attempt to deauth. When the max number is reached, it clears and repopulates its list based on what traffic it sniffs in the area. This allows you to constantly update the deauth list with client/AP combos who have the strongest signal in case you were not stationary. If you want to set a max and not have the deauth list clear itself when the max is hit, just add the -n option like: -m 10 -n

All options:

python wifijammer [-a AP MAC] [-c CHANNEL] [-d] [-i INTERFACE] [-m MAXIMUM] [-n] [-p PACKETS] [-s SKIP] [-t TIME INTERVAL]

License

Copyright (c) 2014, Dan McInerney All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of Dan McInerney nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Comments
  • Any chance on 5GHz channel support?

    Any chance on 5GHz channel support?

    Is there any chance of adding channel support for the 5GHz band? I have been using this for a while and find it very useful at times. I am seeing an increase in the 5GHz usage and would like to have it included. Thanks for the great work!

    opened by sgaits 15
  • ImportError: No module named scapy.all

    ImportError: No module named scapy.all

    When i am trying to execute the file using the the command: sudo python wifijammer also tried using sudo python2 wifijammer But it is returning the error: Traceback (most recent call last): File "wifijammer", line 6, in from scapy.all import * ImportError: No module named scapy.all

    but when I run the from scapy.all import * in python interpreter it is working fine.

    SYSTEM DETAILS OS: Linux mint 20 Python 2.7.18

    opened by codebyAbhishekBharti 13
  • wifijammer as a python package

    wifijammer as a python package

    this will allow to install the project via pip

    pip install git+https://github.com/llazzaro/wifijammer.git
    

    after installation the command "wifijammer.py" will be available to be execute like any other command.

    opened by llazzaro 11
  • ImportError: No module named scapy.all

    ImportError: No module named scapy.all

    When I execute the line python wifijammer.py It show me error Traceback (most recent call last): File "wifijammer.py", line 5, in from scapy.all import * ImportError: No module named scapy.all

    my python version is Python 2.7.3

    opened by rudrakshya 11
  • Error: Network is down

    Error: Network is down

    After some time of running this script I get this error:

    `Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 763, in run self.__target(_self.__args, *_self.__kwargs) File "wifijammer.py", line 190, in channel_hop deauth(monchannel) File "wifijammer.py", line 235, in deauth send(p, inter=float(args.timeinterval), count=int(args.packets)) File "/usr/lib/python2.7/dist-packages/scapy/sendrecv.py", line 251, in send __gen_send(conf.L3socket(_args, *_kargs), x, inter=inter, loop=loop, count=count,verbose=verbose, realtime=realtime) File "/usr/lib/python2.7/dist-packages/scapy/sendrecv.py", line 234, in __gen_send s.send(p) File "/usr/lib/python2.7/dist-packages/scapy/arch/linux.py", line 389, in send self.outs.sendto(sx, sdto) error: [Errno 100] Network is down

    Any chances?

    `

    opened by DeJung 8
  • case problem

    case problem

    the skip function sometimes doesn't work. I get the code slightly modified so that mac address is always stored in lower case, and the problem seems gone.

    opened by ContextSwitchWang 8
  • installing and running on osx 10.9

    installing and running on osx 10.9

    tring to resolve dependencies on osx 10.9:

    $ brew install homebrew/python/scapy
    Cloning into '/usr/local/Library/Taps/homebrew/homebrew-python'...
    
    remote: Counting objects: 685, done.
    remote: Total 685 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (685/685), 132.47 KiB | 0 bytes/s, done.
    Resolving deltas: 100% (399/399), done.
    Checking connectivity... done.
    Tapped 15 formulae
    pypcap: Unsatisfied dependency: Pyrex
    Homebrew does not provide Python dependencies; install with:
      pip install Pyrex
    

    trying that

    $ pip install --allow-unverified Pyrex --allow-external Pyrex Pyrex
    Downloading/unpacking Pyrex
      Pyrex is potentially insecure and unverifiable.
    

    so i am stuck :bug:

    opened by gretel 8
  • OSError: [Errno 2] No such file or directory

    OSError: [Errno 2] No such file or directory

    I'm getting this on osx, could anyone tell me what's wrong? Traceback (most recent call last): File "./wifijammer.py", line 347, in mon_iface = get_mon_iface(args) File "./wifijammer.py", line 49, in get_mon_iface monitors, interfaces = iwconfig() File "./wifijammer.py", line 66, in iwconfig proc = Popen(['iwconfig'], stdout=PIPE, stderr=DN) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 711, in init errread, errwrite) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1308, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory

    opened by qsz13 7
  • Python version

    Python version

    First of all, you did a great work.

    However, is there any particular reason you would use Python 2 for this? Python 3 has been out since 2008, is widely supported and just really better than Py2 in a lot of way.

    Thanks,

    opened by lodi-g 6
  • WiFiJammer on Openwrt

    WiFiJammer on Openwrt

    Since python and tcpdump are available for openwrt, I've tried to run the wifijammer script, but iwconfig isn't more used on openwrt and was replaced by iw, the script clearly return that iwconfig wasn't found. Is possible modify it for use on openwrt?

    opened by atgeek 5
  • Explain some parts of script

    Explain some parts of script

    1- to the code is that the method is deauth after the output method or she is after

    For the first channel hop thru, do not deauth

                                    if first_pass == 1:
    
                                        time.sleep(1)
                                        continue
    

    because I find in this link that the method is after output: http: //danmcinerney.org/how-to-kick-everyone-around-you-off-wifi-with-python/ 2- Please could you explain to me the role of his instructions I am a beginner in python and ubuntu -proc = Popen(['iw', 'dev', mon_iface, 'set', 'channel', monchannel], stdout=DN, stderr=PIPE) and this please:

    • if ch == monchannel: deauth_pkt1 = Dot11(addr1=client, addr2=ap, addr3=ap)/Dot11Deauth() deauth_pkt2 = Dot11(addr1=ap, addr2=client, addr3=client)/Dot11Deauth() pkts.append(deauth_pkt1) pkts.append(deauth_pkt2)

    I need help please thanks .

    opened by RIMEH1 5
  • 'utf-8' codec can't decode byte 0x92 in position 14: invalid start byte

    'utf-8' codec can't decode byte 0x92 in position 14: invalid start byte

    Hi, I attempt to run wifijammer in Termux; I have installed python, scapy and iwconfig. But as I execute tsudo python wifijammer I got:

    Traceback (most recent call last):
      File "wifijammer", line 476, in <module>
        mon_iface = get_mon_iface(args)
      File "wifijammer", line 106, in get_mon_iface       monitors, interfaces = iwconfig()
      File "wifijammer", line 129, in iwconfig            for line in proc.communicate()[0].decode().split('\n'):
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 14: invalid start byte
    

    Am I miss something?

    opened by MR-Diamond 6
  • Start with Python2/3 result in str() errors

    Start with Python2/3 result in str() errors

    Python3 not working at all. Python2 finds some Networks before crash Trying to start in Python3 results in: [ Traceback (most recent call last): File "./wifijammer", line 476, in mon_iface = get_mon_iface(args) File "./wifijammer", line 117, in get_mon_iface interface = get_iface(interfaces) File "./wifijammer", line 160, in get_iface for line in proc.communicate()[0].split('\n'): TypeError: a bytes-like object is required, not 'str' ]

    In Python2 results in: [ [*] Finding the most powerful interface... [+] Networks discovered by wlan1: 0 [+] Networks discovered by wlan0: 13 [+] Starting monitor mode off wlan0 Error for wireless request "Set Mode" (8B06) : SET failed on device wlan0 ; Operation not supported. Traceback (most recent call last): File "./wifijammer", line 478, in mon_MAC = mon_mac(mon_iface) File "./wifijammer", line 199, in mon_mac info = fcntl.ioctl(s.fileno(), 0x8927, struct.pack('256s', bytes(mon_iface, 'utf-8')[:15])) TypeError: str() takes at most 1 argument (2 given) ]

    Any suggestions?

    opened by Flerov 4
Owner
Dan McInerney
I like automating security stuff so I don't have to work. Coalfire researcher.
Dan McInerney
This application aims to read all wifi passwords and visualizes the complexity in graph formation by taking into account several criteria and help you generate new random passwords.

This application aims to read all wifi passwords and visualizes the complexity in graph formation by taking into account several criteria and help you generate new random passwords.

Njomza Rexhepi 0 May 29, 2022
Passive TCP/IP Fingerprinting Tool. Run this on your server and find out what Operating Systems your clients are *really* using.

Passive TCP/IP Fingerprinting This is a passive TCP/IP fingerprinting tool. Run this on your server and find out what operating systems your clients a

Nikolai Tschacher 158 Dec 20, 2022
Linux SBC featuring two wifi radios, masquerading as a USB charger.

The WiFiWart is an open source WiFi penetration device masquerading as a regular wall charger. It features a 1.2Ghz Cortex A7 MPU with two WiFi chips onboard.

Walker 151 Dec 26, 2022
Wifi-Jamming is a simple, yet highly effective method of causing a DoS on a wireless implemented using python pyqt5.

pyqt5-linux-wifi-jamming-tool Linux-Wifi-Jamming is a simple GUI tool, yet highly effective method of causing a DoS on a wireless implemented using py

lafesa 8 Dec 5, 2022
PoC code for stealing the WiFi password of a network with a Lovebox IOT device connected

LoveBoxer PoC code for stealing the WiFi password of a network with a Lovebox IOT device connected. This PoC was is what I used in this blogpost Usage

Graham Helton 10 May 24, 2022
This tool will scans your wi-fi/wlan and show you the connected clients

This tool will scans your wi-fi/wlan and show you the connected clients

VENKAT SAI SAGAR 3 Mar 24, 2022
A simple and lightweight server that allows clients to connect and launch a shell remotely through a browser.

carrotsh A simple and lightweight server that allows clients to connect and launch a shell remotely through a browser. Uses xterm.js for the frontend

V9 31 Dec 27, 2022
A TCP Chatroom built with python and TCP/IP sockets, consisting of a server and multiple clients which can connect with the server and chat with each other.

A TCP Chatroom built with python and TCP/IP sockets, consisting of a server and multiple clients which can connect with the server and chat with each other. It also provides an Admin role with features including kicking and baning of users.

null 3 May 22, 2022
Python module to interface with Tuya WiFi smart devices

TinyTuya Python module to interface with Tuya WiFi smart devices Description This python module controls and monitors Tuya compatible WiFi Smart Devic

Jason Cox 365 Dec 26, 2022
A simple python application for generating a WiFi QR code for ease of connection

A simple python application for generating a WiFi QR code Initialize the class by providing QR code values WiFi_QR_Code(self, error_correction: int =

Ivan 2 Aug 1, 2022
The module that allows the collection of data sampling, which is transmitted with WebSocket via WIFI or serial port for CSV file.

The module that allows the collection of data sampling, which is transmitted with WebSocket via WIFI or serial port for CSV file.

Nelson Wenner 2 Apr 1, 2022
Repo for investigation of timeouts that happens with prolonged training on clients

Flower-timeout Repo for investigation of timeouts that happens with prolonged training on clients. This repository is meant purely for demonstration o

null 1 Jan 21, 2022
jarbou3 is rat tool coded in python with C&C which can accept multiple connections from clients

jarbou3 Jarbou3 is rat tool with coded in python with C&C which can accept multi

youhacker55 108 Dec 29, 2022
Geowifi 📡 💘 🌎 Search WiFi geolocation data by BSSID and SSID on different public databases.

Geowifi ?? ?? ?? Search WiFi geolocation data by BSSID and SSID on different public databases.

GOΠZO 441 Dec 23, 2022
Best discord webhook spammer using proxy (support all proxy type)

Best discord webhook spammer using proxy (support all proxy type)

Iтѕ_Ѵιcнч#1337 25 Nov 1, 2022
Repo used to maintain all notes and scripts developed during my DevNet Expert studies

DevNet Expert Studies Exam Date: TBD (Waiting for registration to open) This repository will be used to track my progress and maintain all notes/scrip

Dan 32 Dec 11, 2022
Lets you remove all friends, leave GCs, and leave servers, in an instant!

anonymity Lets you remove all friends, leave GCs, and leave servers, in an instant! You can also do each of them by themselves. First, you need to get

null 1 Dec 7, 2021
Tool written on Python that locate all up host on your subnet

HOSTSCAN Easy to use command line network host scanner. From noob to noobs. Dependencies Nmap 7.92 or superior Python 3.9 or superior All requirements

NexCreep 4 Feb 27, 2022
EchoDNS - Analyze your DNS traffic super easy, shows all requested DNS traffic

EchoDNS - Analyze your DNS traffic super easy, shows all requested DNS traffic

Oli Zimmermann 1 Jan 11, 2022