1、wpa_supplicant
Wpa_supplicant 是一个在Linux,BSD和Windows上支持WPA/WPA2(IEEE 802.11i /RSN)认证的客户端。Supplicant 是IEEE802.1X/WPA的组件,被用于客户端(client station)。它实现了与WPA 认证端之间的沟通,并还可以控制漫游和IEEE802.11的wlan驱动的认证/关联。
Wpa_supplicant的设计目的是对于不同的硬件、驱动和操作系统,所有WPA功能的C代码是可移植的。在wpa_supplicant的源代码中,所有硬件/驱动具体功能是在相应独立的文件中,这些文件实现定义好的驱动API。
Wpa_supplicant中实现了一些控制接口。外部程序可以调用这些控制接口实现控制wpa_supplicant 守护进程、获取状态信息以及事件通知。
下面是wpa_supplicant 模块图,咋看很晕,那就先熟一下眼吧,相信等以后修为到时,自然拨开云雾。
Wpa_supplicant module
2、Hostapd
hostapd是一个用户空间的守护程序,主要用在接入结点(AP)和认证服务器上。它能够使得无线网卡切换为master模式,模拟AP功能,也就是我们说的软AP(Soft AP)。
Hostapd 包括IEEE 802.11 访问端点管理(认证/关联)、IEEE 802.1X WPA/WPA2 认证、EAP服务器和RADIUS认证服务的功能。它可以被编译成多种不同的功能组合。
与Wpa_supplicant类似,hostapd中也实现了一些控制接口。外部程序可以调用这些控制接口实现控制hostapdt 守护进程、获取状态信息以及事件通知。
下面是hostapd模块图,咋看很晕,那就先熟一下眼吧,相信等以后修为到时,自然拨开云雾。
Hostapd modules