Q3-Send-deauth

  • In this section, you are going to learn

  • How to send de-authentication packet once every 30 seconds

#

Version

Ubuntu

Ubuntu 22.04 64 bit

Linux Kernel

6.9.2

Supplicant

wpa_supplicant 2.10

  • Send De-Authentication packet once every 30 seconds

  • Add a configuration parameter called “periodic_deauth=30” in supplicant conf file

  • If “periodic_deauth=0”, then this feature is disabled

  • If “periodic_deauth=5”, then deauth is sent at every 5th second

  • Call flow for send de-authentication packet once every 30 seconds

nl80211_global_init ()
  wpa_driver_nl80211_init_nl_global ()
    send_scan_event ()
      process_global_event ()                   
	do_process_drv_event ()                 
	 mlme_event ()  
	   send_scan_event ()
	     mlme_event_auth () 
	       mlme_event_assoc ()      
		 wpa_supplicant_event ()
		   wpa_supplicant_event_assoc ()
		     wpa_supplicant_set_state () 
			sta_send_deauth ()
  • Download the below patch file

send_deauth_pkt_every_30sec.patch

test:~$ pwd
/home/test
  • Make sure internet is available in laptop to download supplicant package

test:~$ sudo wget https://w1.fi/releases/wpa_supplicant-2.10.tar.gz
  • Create a directory

test:~$ mkdir supplicant
  • Change directory to supplicant

test:~$ cd supplicant
  • Note : Your present working directory should be supplicant

test:~$ pwd
/home/test/supplicant/
  • Extract wpa_supplicant

test:~$ sudo tar -xvf ~/wpa_supplicant-2.10.tar.gz
  • Run the below command to apply patch

test:~$ patch -p1 < send_deauth_pkt_every_30sec.patch
patching file wpa_supplicant-2.10/src/utils/os.h
patching file wpa_supplicant-2.10/src/utils/os_unix.c
patching file wpa_supplicant-2.10/wpa_supplicant/config_file.c
patching file wpa_supplicant-2.10/wpa_supplicant/config.h
patching file wpa_supplicant-2.10/wpa_supplicant/wpa_supplicant.c
  • Change directory to wpa_supplicant

test:~$ cd wpa_supplicant-2.10/wpa_supplicant/
  • Check the current working directory using pwd command

  • Make sure your current working directory is wpa_supplicant

test:~$ pwd
/home/test/supplicant/wpa_supplicant-2.10/wpa_supplicant
  • Copy the contents of defconfig file to .config file

test:~$ sudo cp defconfig .config
  • Compile wpa_supplicant

test:~$ sudo make
  • Create run_supplicant.conf

test:~$ sudo vim ./run_supplicant.conf

ctrl_interface=/run/wpa_supplicant
update_config=1
periodic_deauth=30

network={
ssid="test_open"
key_mgmt=NONE
}
  • Run wpa_supplicant

test:~$ sudo ./wpa_supplicant -Dnl80211 -i wlan1 -c ./run_supplicant.conf
  • Download file to check wireshark output

send_deauth_pkt_every_30sec.pcapng

  • Check for de-authentication packet

  • Apply display filter

  • wlan.addr == 02:00:00:00:01:00 && wlan.fc.type_subtype == 12

Diagram
  • Observe the de-authentication packets with 30 sec time interval

Diagram