wpa_supplicant介紹
一.什么是wpa_spplicant
wpa_supplicant本是開源項(xiàng)目源碼,被谷歌修改后加入Android移動平臺,它主要是用來支持WEP,WPA/WPA2和WAPI無線協(xié)議和加密認(rèn)證的,而實(shí)際上的工作內(nèi)容是通過socket(不管是wpa_supplicant與上層還是wpa_supplicant與驅(qū)動都采用socket通訊)與驅(qū)動交互上報(bào)數(shù)據(jù)給用戶,而用戶可以通過socket發(fā)送命令給wpa_supplicant調(diào)動驅(qū)動來對WiFi芯片操作。 簡單的說,wpa_supplicant就是WiFi驅(qū)動和用戶的中轉(zhuǎn)站外加對協(xié)議和加密認(rèn)證的支持。
二.wpa_supplicant無線網(wǎng)絡(luò)配置
目前可以使用wireless-tools 或wpa_supplicant工具來配置無線網(wǎng)絡(luò)。請記住重要的一點(diǎn)是,對無線網(wǎng)絡(luò)的配置是全局性的,而非針對具體的接口。
wpa_supplicant是一個較好的選擇,但缺點(diǎn)是它不支持所有的驅(qū)動。請瀏覽wpa_supplicant網(wǎng)站獲得它所支持的驅(qū)動列表。另外,wpa_supplicant目前只能連接到那些你已經(jīng)配置好ESSID的無線網(wǎng)絡(luò)。wireless-tools支持幾乎所有的無線網(wǎng)卡和驅(qū)動,但它不能連接到那些只支持WPA的AP。
經(jīng)過編譯后的wpa_supplicant源程序可以看到兩個主要的可執(zhí)行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的關(guān)系就是服務(wù)和客戶端的關(guān)系:后臺運(yùn)行wpa_supplicant,使用wpa_cli來搜索、設(shè)置、和連接網(wǎng)絡(luò)。
三.wpa_supplicant的移植
1.wpa_supplicant2.6的下載:wpa_supplicant-2.6
libnl-3.2.28
OpenSSL-1.0.2j
wpa_supplicant-2.6兩個依賴庫為 libnl-3.2.28和 OpenSSL-1.0.2j
2.make編譯OpenSSL-1.0.2j 產(chǎn)生lib如下圖,將OpensslLib_HI下所文件copy到wpa_supplicant-2.6下的ssl文件夾
3編譯libnl-3.2.28
./configure --prefix=/usr --sysconfdir=/etc --disable-static
make
make install
完成后在/usr/lib/下能找到以下兩件文件
4.編譯openssl-1.0.2j
4.1:如下配置makefile
./config no-asm shared --prefix=/usr/lib/ssl --cross-compile-prefix=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/bin/arm-hisiv400-linux-
參數(shù)說明:
no-asm : Do not use assembler code.
shared : 編譯連接成動態(tài)庫
--prefix : 指定之后make install后生成的執(zhí)行文件跟庫的存放位置
--cross-compile-prefix :指定交叉編譯工具位置及其前綴
4.2: 執(zhí)行 make ;make install
5.編譯wpa_supplicant-2.6
1 進(jìn)入hostapd/wpa_supplicant目錄,首先執(zhí)行cp defconfig .config 拷貝生成編譯配置
2 修改配置文件 .config,在"#Uncomment following two linee and fix..."下增加如下語句,用來添加openssl和libnl的頭文件和庫文件目錄,更新編譯鏈接環(huán)境變
CFLAGS += -I/usr/local/ssl/include
CFLAGS += -I/usr/local/include/netlink
LIBS += -L/usr/local/ssl/lib
LIBS += -L/usr/local/lib
LIBS_p += -L/usr/local/ssl/lib
3 執(zhí)行make進(jìn)行編譯,成功后生成三個目標(biāo)文件wpa_supplicant, wpa_cli, wpa_passphrase,至此編譯完成。
三.wpa_supplicant用法
1.iwlist wlan0 scanning掃出可使用的ap
2.wpa_passphrase TP-LINK_8CEA 11111111 > /etc/wpa_supplicant.conf 產(chǎn)生密碼的加密conf文件
再根據(jù)examples的例子修改
3.wpa_supplicant -i wlan0 -B -Dwext -c /etc/wpa_supplicant.conf 連接網(wǎng)絡(luò)
4.設(shè)定WIFI的IP
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。