<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > wpa_supplicant介紹

wpa_supplicant介紹

發(fā)布人:電子禪石 時(shí)間:2022-10-30 來(lái)源:工程師 發(fā)布文章

一.什么是wpa_spplicant

wpa_supplicant本是開(kāi)源項目源碼,被谷歌修改后加入Android移動(dòng)平臺,它主要是用來(lái)支持WEP,WPA/WPA2和WAPI無(wú)線(xiàn)協(xié)議和加密認證的,而實(shí)際上的工作內容是通過(guò)socket(不管是wpa_supplicant與上層還是wpa_supplicant與驅動(dòng)都采用socket通訊)與驅動(dòng)交互上報數據給用戶(hù),而用戶(hù)可以通過(guò)socket發(fā)送命令給wpa_supplicant調動(dòng)驅動(dòng)來(lái)對WiFi芯片操作。 簡(jiǎn)單的說(shuō),wpa_supplicant就是WiFi驅動(dòng)和用戶(hù)的中轉站外加對協(xié)議和加密認證的支持。

二.wpa_supplicant無(wú)線(xiàn)網(wǎng)絡(luò )配置


目前可以使用wireless-tools 或wpa_supplicant工具來(lái)配置無(wú)線(xiàn)網(wǎng)絡(luò )。請記住重要的一點(diǎn)是,對無(wú)線(xiàn)網(wǎng)絡(luò )的配置是全局性的,而非針對具體的接口。

wpa_supplicant是一個(gè)較好的選擇,但缺點(diǎn)是它不支持所有的驅動(dòng)。請瀏覽wpa_supplicant網(wǎng)站獲得它所支持的驅動(dòng)列表。另外,wpa_supplicant目前只能連接到那些你已經(jīng)配置好ESSID的無(wú)線(xiàn)網(wǎng)絡(luò )。wireless-tools支持幾乎所有的無(wú)線(xiàn)網(wǎng)卡和驅動(dòng),但它不能連接到那些只支持WPA的AP。

經(jīng)過(guò)編譯后的wpa_supplicant源程序可以看到兩個(gè)主要的可執行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的關(guān)系就是服務(wù)和客戶(hù)端的關(guān)系:后臺運行wpa_supplicant,使用wpa_cli來(lái)搜索、設置、和連接網(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兩個(gè)依賴(lài)庫為 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-

參數說(shuō)明:

no-asm : Do not use assembler code.

shared : 編譯連接成動(dòng)態(tài)庫

--prefix : 指定之后make install后生成的執行文件跟庫的存放位置

--cross-compile-prefix :指定交叉編譯工具位置及其前綴

4.2: 執行 make ;make install



5.編譯wpa_supplicant-2.6


1 進(jìn)入hostapd/wpa_supplicant目錄,首先執行cp defconfig .config 拷貝生成編譯配置

2 修改配置文件 .config,在"#Uncomment following two linee and fix..."下增加如下語(yǔ)句,用來(lái)添加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 執行make進(jìn)行編譯,成功后生成三個(gè)目標文件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文件



再根據examples的例子修改


3.wpa_supplicant -i wlan0 -B -Dwext -c /etc/wpa_supplicant.conf 連接網(wǎng)絡(luò )

4.設定WIFI的IP


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: wpa

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>