Whenever I try to use airmon-ng start wlan0, only the same thing as executing airmon-ng check happens, so mon0 isn't created. Here are dumps of what happened, when I entered ifconfig and iwconfig:


lo: flags=73 mtu 65536 inet netmask inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 0 (Local Loopback) RX packets 22 bytes 1316 (1.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 22 bytes 1316 (1.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4099 mtu 1500 ether 00:e0:4c:72:00:1e txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


wlan0 unassociated Nickname:"rtl_wifi" Mode:Managed Access Point: Not-Associated Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0

lo no wireless extensions.

eth0 no wireless extensions.

If you need any more info to solve the problem, just ask


Do your wireless chipset and drivers support monitor mode? You can check with this command:

iw [your-wifi-adaptor-eg-phy0] info

or this

iw list

if you're unsure.

Posting that info will help. Here's an example of a snippet from my output: Supported interface modes: * IBSS * managed * AP * AP/VLAN * WDS * monitor * mesh point As you can see, the chipset on my machine would support it.


After checking using iw list and confirming it has monitor mode listed in there.

If monitor mode is listed then try iw config wlan0 mode monitor and this should put your wlan0 into monitor mode.


While i can only speak from Arch experience and not Kali, airmon-ng start <interface name> would cause the intended interface's name to change to be <interface name>mon . E.g wlan0mon (with 'mon' having then been postfixed to the original interface name)

E.g if the interface intended to be used was named wlp1s0u1u2 or wlan0 , it would/should in most cases result in becoming/creating wlp1s0u1u2mon or wlan0mon, and not necessarily mon0.

(As documented on https://www.aircrack-ng.org/doku.php?id=airmon-ng)

"As you can see, it created a monitor mode interface called wlan0mon"

(And from current airmon-ng script source code effective line. (regarding how it sets monitor mode))

iw phy ${PHYDEV} interface add ${1}mon type monitor

which, depending on number of existing physical wifi devices and naming convention used, might translate to something like:

iw phy phy0 interface add wlan0mon type monitor

*(In a case where wlan0 is the physical wifi device phy0)

(snipped from iw help output)

    [iw] phy <phyname> interface add <name> type <type>

And although mon0 could of course be set to be the 'name' by running the command manually; It is not how the airmon-ng script does it..)*

Regardless, ifconfig -a aught to list any existing interfaces, and their names, even if they are "down"/inactive/turned off.

Other than that, nonzyro's answer should first be tested, to check if the device even reports supporting monitor mode

  • ..egg on my face for not realizing the question was over 4 years old.. – DhP Aug 6 '20 at 18:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.