# Setting Up Monitor Mode in Kali

> Configuring wireless adapters for monitor mode in Kali Linux, enabling passive packet capture and wireless network analysis for security testing.

- **URL:** https://hackindex.io/platforms/wireless/setup/monitor-mode-setup
- **Path:** Wireless > Setup and Hardware
- **Up:** [Setup and Hardware](https://hackindex.io/platforms/wireless/setup.md)
- **Published:** 2026-03-17
- **Updated:** 2026-09-12

Monitor mode puts the wireless adapter into a passive receive state where it captures all 802.11 frames in range regardless of destination. Without it the adapter only processes frames addressed to its own MAC. Every passive scan, handshake capture, and frame injection technique in wireless pentesting depends on monitor mode being active first.

## Kill Interfering Processes

NetworkManager and wpa_supplicant both try to manage the wireless interface and will conflict with airmon-ng and airodump-ng. The common interfering processes are:

- **NetworkManager** continuously scans for networks and reassociates the interface, which breaks monitor mode and causes channel hopping conflicts.
- **wpa_supplicant** handles WPA authentication and will attempt to connect to known networks, interfering with passive capture and injection.

Kill them before enabling monitor mode:

```bash
airmon-ng check kill
# Killing these processes:
#   PID Name
#   981 NetworkManager
#  1035 wpa_supplicant
```

This stops NetworkManager and wpa_supplicant for the current session only. They restart on reboot. If you need internet access during the assessment through a wired interface this is fine. If you need wireless internet access at the same time, use a second adapter for management traffic.

## Enable Monitor Mode with airmon-ng

```bash
airmon-ng start wlan0
# PHY     Interface   Driver      Chipset
# phy0    wlan0       mt76x2u     MediaTek MT7612U
#
# (mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
# (mac80211 station mode vif disabled for [phy0]wlan0)
```

The adapter is now available as `wlan0mon`. All subsequent airodump-ng and aireplay-ng commands use this interface name.

### Start on a Specific Channel

To start monitor mode locked to a specific channel rather than hopping:

```bash
airmon-ng start wlan0 6
```

Useful when you already know the target channel and want to avoid missing frames during channel transitions. For initial reconnaissance leave the channel unlocked and let airodump-ng hop.

## Enable Monitor Mode with iw

`iw` is the modern nl80211 alternative that gives more direct control over the interface:

```bash
ip link set wlan0 down
iw wlan0 set type monitor
ip link set wlan0 up
```

The `iw` method does not rename the interface to `wlan0mon`. It stays as `wlan0`. Pass the correct interface name to any tool that expects the `mon` suffix.

## Set a Specific Channel

After monitor mode is active, lock to a channel:

```bash
iw dev wlan0mon set channel 6
```

For 5 GHz channels:

```bash
iw dev wlan0mon set channel 36
```

Some adapters require the interface to be brought down first before a channel change takes effect:

```bash
ip link set wlan0mon down
iw dev wlan0mon set channel 100
ip link set wlan0mon up
```

## Verify Monitor Mode is Active in Kali

```bash
iwconfig wlan0mon
# wlan0mon  IEEE 802.11  Mode:Monitor  Frequency:2.437 GHz  Tx-Power=20 dBm
```

`Mode:Monitor` confirms the interface is ready. Verify injection also works:

```bash
aireplay-ng --test wlan0mon
# Trying broadcast probe requests...
# Injection is working!
```

If injection fails, check whether the driver needs to be reloaded. See the driver management page.

## Disable Monitor Mode

When finished, stop monitor mode and return the adapter to managed mode:

```bash
airmon-ng stop wlan0mon
```

Or with iw:

```bash
ip link set wlan0mon down
iw wlan0mon set type managed
ip link set wlan0mon up
```

Restart NetworkManager if needed:

```bash
systemctl start NetworkManager
```

## References

- [Aircrack-ng: airmon-ng documentation](https://www.aircrack-ng.org/doku.php?id=airmon-ng) - Monitor mode setup and process management reference
- [Linux Wireless: iw documentation](https://wireless.wiki.kernel.org/en/users/documentation/iw) - nl80211 interface and monitor mode configuration
