From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Screenshot of wpa gui
Screenshot of wpa_gui
Developer(s)Jouni Malinen and others
Initial releaseApril 5, 2003 (2003-04-05)
Stable release
2.6[1] / October 2, 2016; 2 years ago (2016-10-02)
Written inC
Operating systemCross-platform
TypeWLAN tools

wpa_supplicant is a free software implementation of an IEEE 802.11i supplicant for Linux, FreeBSD, NetBSD, QNX, AROS, Microsoft Windows, Solaris, OS/2 (including eComStation) and Haiku. In addition to being a fully featured WPA2 supplicant, it also implements WPA and older wireless LAN security protocols.


Features include:[citation needed]

  • WPA and full IEEE 802.11i/RSN/WPA2
  • WPA-PSK and WPA2-PSK ("WPA-Personal", pre-shared key)
  • WPA with EAP ("WPA-Enterprise", for example with RADIUS authentication server)
  • key management for CCMP, TKIP, WEP (both 104/128- and 40/64-bit)
  • RSN: PMKSA caching, pre-authentication
  • IEEE 802.11r
  • IEEE 802.11w
  • Wi-Fi Protected Setup (WPS)

Included with the supplicant are a GUI and a command-line utility for interacting with the running supplicant. From either of these interfaces it is possible to review a list of currently visible networks, select one of them, provide any additional security information needed to authenticate with the network (for example, a passphrase, or username and password) and add it to the preference list to enable automatic reconnection in the future.[2]

The graphical user interface is built on top of the Qt library.

wpa_supplicant can authenticate with any of the following EAP (Extensible Authentication Protocol) methods: EAP-TLS, EAP-PEAP (both PEAPv0 and PEAPv1), EAP-TTLS, EAP-SIM, EAP-AKA, EAP-AKA', EAP-pwd, EAP-EKE, EAP-PSK (experimental), EAP-FAST, EAP-PAX, EAP-SAKE, EAP-GPSK, EAP-IKEv2, EAP-MD5, EAP-MSCHAPv2, and LEAP (requires special functions in the driver).[2]

Vulnerability to KRACK[edit]

wpa_supplicant is especially susceptible to KRACK, as it can be manipulated to install an all-zeros encryption key, effectively nullifying WPA2 protection in a man-in-the-middle attack.[3]

See also[edit]


  1. ^ "Index of /releases". w1.fi. 2016-10-02. Retrieved 2017-06-14.
  2. ^ a b "Linux WPA Supplicant (IEEE 802.1X, WPA, WPA2, RSN, IEEE 802.11i)". w1.fi. Retrieved 2014-07-04.
  3. ^ "Key Reinstallation Attacks disclosure website". KRACK Attacks. Retrieved 26 September 2018. Linux's wpa_supplicant v2.6 is also vulnerable to the installation of an all-zero encryption key in the 4-way handshake.

External links[edit]