• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 博客專欄

    EEPW首頁 > 博客 > wpa_supplicant介紹

    wpa_supplicant介紹

    發布人:電子禪石 時間:2022-10-30 來源:工程師 發布文章

    一.什么是wpa_spplicant

    wpa_supplicant本是開源項目源碼,被谷歌修改后加入Android移動平臺,它主要是用來支持WEP,WPA/WPA2和WAPI無線協議和加密認證的,而實際上的工作內容是通過socket(不管是wpa_supplicant與上層還是wpa_supplicant與驅動都采用socket通訊)與驅動交互上報數據給用戶,而用戶可以通過socket發送命令給wpa_supplicant調動驅動來對WiFi芯片操作。 簡單的說,wpa_supplicant就是WiFi驅動和用戶的中轉站外加對協議和加密認證的支持。

    二.wpa_supplicant無線網絡配置


    目前可以使用wireless-tools 或wpa_supplicant工具來配置無線網絡。請記住重要的一點是,對無線網絡的配置是全局性的,而非針對具體的接口。

    wpa_supplicant是一個較好的選擇,但缺點是它不支持所有的驅動。請瀏覽wpa_supplicant網站獲得它所支持的驅動列表。另外,wpa_supplicant目前只能連接到那些你已經配置好ESSID的無線網絡。wireless-tools支持幾乎所有的無線網卡和驅動,但它不能連接到那些只支持WPA的AP。

    經過編譯后的wpa_supplicant源程序可以看到兩個主要的可執行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的關系就是服務和客戶端的關系:后臺運行wpa_supplicant,使用wpa_cli來搜索、設置、和連接網絡。

    三.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 產生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-

    參數說明:

    no-asm : Do not use assembler code.

    shared : 編譯連接成動態庫

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

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

    4.2: 執行 make ;make install



    5.編譯wpa_supplicant-2.6


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

    2 修改配置文件 .config,在"#Uncomment following two linee and fix..."下增加如下語句,用來添加openssl和libnl的頭文件和庫文件目錄,更新編譯鏈接環境變

    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進行編譯,成功后生成三個目標文件wpa_supplicant, wpa_cli, wpa_passphrase,至此編譯完成。


    三.wpa_supplicant用法

    1.iwlist wlan0 scanning掃出可使用的ap


    2.wpa_passphrase TP-LINK_8CEA 11111111 > /etc/wpa_supplicant.conf 產生密碼的加密conf文件



    再根據examples的例子修改


    3.wpa_supplicant -i wlan0 -B -Dwext -c /etc/wpa_supplicant.conf 連接網絡

    4.設定WIFI的IP


    *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



    關鍵詞: wpa

    技術專區

    關閉
    主站蜘蛛池模板: 绥化市| 乌拉特中旗| 邳州市| 囊谦县| 循化| 沅陵县| 西安市| 闽清县| 鲁甸县| 观塘区| 科技| 肥城市| 朝阳县| 忻城县| 衡水市| 宜章县| 同江市| 准格尔旗| 收藏| 黎平县| 嘉定区| 同心县| 菏泽市| 祁连县| 仙游县| 高陵县| 高邑县| 平遥县| 霸州市| 兴城市| 禄劝| 南华县| 安宁市| 灌阳县| 泉州市| 梨树县| 红原县| 博野县| 茶陵县| 石景山区| 宁乡县|