There are several ways to enable monitor mode for Wifi interfaces. Depending to your OS, installed packages, installed drivers and the Wifi model these methods are available and/or useful. In this tutorial I will explain three different ways.
3 different ways
The first example enables the monitor mode via iwconfig
. To start/stop the interface the ip
command is used, but you could also use ifconfig
command.
# disable interface
$ ip link set wlan0 down
# enable monitor mode
$ iwconfig wlan0 mode monitor
# check interface status (optional)
$ iwconfig wlan0 | grep -i mode | awk '{print $4}'
# enable device
$ ip link set wlan0 up
The second example enables monitor mode via airmon-ng
. The explicit start or stop of the interface is not necessary here. Attention, this method will change the name of the interface.
# stop interfering processes
$ airmon-ng check kill
# enable monitor mode
$ airmon-ng start wlan0
# check interface status (optional)
$ iwconfig wlan0mon | grep -i mode | awk '{print $4}'
The third example enables monitor mode via iw
. To start/stop the interface the ifconfig
command is used, but you could also use ip
command.
# disable interface
$ ifconfig wlan0 down
# enable monitor mode
$ iw wlan0 set monitor control
# check interface status (optional)
$ iw dev | grep -i type | awk '{print $2}'
# enable device
$ ifconfig wlan0 up
It may happen that your interface crashes during the scan. In that case, you should choose a different method. If none of the shown examples works properly, it could be due to the Network Manager. In this case, turn it off. Attention, this action is then valid for all interfaces and can disturb your internet connection.
# stop network manager
$ systemctl stop NetworkManager