Skip to content

Latest commit

 

History

History

WIFIMonitor

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

WI-FI Monitor Mode with Raspberry PI Zero

The Raspberry Pi models have a Broadcom BCM43438 wireless chipset (2.4GHz). Out of the box (Standard Raspbian OS) it is not possible to enable the Wi-Fi Monitor Mode, even if the chip would support it.

Objective

The aim of this tutorial is to show how you can patch the kernel to make the Monitor Mode possible.

Precondition

You should already have read (and successful carried out) the following tutorials.

Install needed and/or optional packages

Install (or ensure they are installed) following packages.

# update system (optional)
$ sudo apt update -y && sudo apt upgrade -y

# install optional packages (optional)
$ sudo apt install -y wireless-tools build-essential curl

Re4son-Kernel for Raspberry Pi

Installation

The simplest way is to use the Re4son-Pi-Kernel, here you will find all information about.

# download latest archive
$ curl -L -C - https://re4son-kernel.com/download/re4son-kernel-current/ -o re4son-kernel_current.tar.xz

# unzip archive
$ tar -xJf re4son-kernel_current.tar.xz

# change into extracted folder
$ cd re4son-kernel_*

# run installation
$ sudo ./install.sh

Note: Be patient, the process will take some time. You can also answer all questions with "Y" (yes).

Prepare interface

After the successful installation and reboot, you need to create a new interface (already in Monitor Mode).

# create new wireless devices incl. configuration
$ sudo iw phy phy0 interface add mon0 type monitor

# start created interface
$ sudo ifconfig mon0 up

# verify interfaces (optional)
$ iw phy phy0 info

Note: Just create a small bash script, and a service to automate this process.

Scan for AP's and STA's

From now on you can use all known tools, or the Python scripts I have created.

# install needed packages
$ sudo apt install -y python3-pip curl

# install scapy
$ sudo pip3 install scapy

# download Python STA scanner
$ curl -L https://raw.githubusercontent.com/Lupin3000/Raspberry-PI-Tutorials/main/Goodies/PythonStationScan/StationScan.py -o StationScan.py

# set permissions
$ chmod +x StationScan.py

# run STA scanner
$ sudo ./StationScan.py mon0

# download Python AP scanner
$ curl -L https://raw.githubusercontent.com/Lupin3000/Raspberry-PI-Tutorials/main/Goodies/PythonAccessPointScan/AccessPointScan.py -o AccessPointScan.py

# set permissions
$ chmod +x AccessPointScan.py

# run AP scanner
$ sudo ./AccessPointScan.py mon0 --all

Go Back