wpa_supplicant使用
生活随笔
收集整理的這篇文章主要介紹了
wpa_supplicant使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.wpa_supplicant簡介
wpa_supplicant是一個連接、配置WIFI的工具,它主要包含wpa_supplicant與wpa_cli兩個程序。wpa_supplicant是服務端,wap_cli是客戶端,一般情況下使用wpa_cli就可以操作WiFi。但是它不支持所有的驅動,可以瀏覽wpa_supplicant網站獲得它所支持的驅動列表。另外,wpa_supplicant目前只能連接到那些你已經配置好SSID的無線網絡,也就是使用前需要配置好wpa_supplicant的配置文件wpa_supplicant.conf
看下wpa_supplicant的help信息
選項詳解
| -b | optional bridge interface name 增加網橋名稱 |
| -B | run daemon in the background后臺執行 |
| -c | Configuration file 附加配置文件,即根據配置文件執行操作 |
| -C | ctrl_interface parameter (only used if -c is not) 控制網口參數 |
| -i | interface name 設定操作的網口 |
| -d | increase debugging verbosity (-dd even more)增加調試信息輸出 |
| -D | driver name (can be multiple drivers: nl80211,wext) 驅動名稱 |
| -g | global ctrl_interface 全局網口配置 |
| -K | include keys (passwords, etc.) in debug output 在debug輸出中包含keys |
| -t | include timestamp in debug messages 將各個debug信息前輸出時間標簽 |
| -h | show this help text顯示幫助信息 |
| -L | show license (GPL and BSD) 顯示license |
| -o | override driver parameter for new interfaces 覆蓋driver參數 |
| -O | override ctrl_interface parameter for new interfaces 覆蓋ctrl_interface參數 |
| -p | driver parameters 攜帶驅動參數 |
| -P | PID file進程文件 |
| -q | decrease debugging verbosity (-qq even less)在debug 中不輸出指定參數 |
| -v | show version 顯示版本信息 |
| -W | wait for a control interface monitor before starting 啟動前等待控制接口 |
| -N | start describing new interface 啟動對新接口的描述 |
| -f | log output to debug file instead of stdout log的輸出文件 |
wpa_supplicant配置文件編寫
wpa_supplicant配置文件wpa_supplicant.conf的可配置選項太多,先了解下常用的配置項。看個例子:
cat wpa_supplicant.conf ctrl_interface=/var/run/wpa_supplicant ap_scan=1 network={scan_ssid=1ssid="mr112"psk="123456789"key_mgmt=WPA-PSK }| ctrl_interface | 默認的也是推薦使用的存放套接字的目錄,wpa_cli將會在嘗試和wpa_supplicant連接時使用它 |
| ap_scan | 接入點的掃描和選擇 |
| scan_ssid | =0不掃描這個通過特定的探測請求幀得到的SSID(默認)=1掃描通過特定探測請求幀得到的SSID(這個可以用于尋找不接受廣播的APs或者使用多SSIDs ;這個將會增加掃描延時時間,所以在有必要時才激活此選項) |
| ssid | 無線名稱 |
| psk | 無線密碼 |
| key_mgmt | 公認的認證密鑰管理協議列表,WPA-PSK 預共享密匙 (這需要‘psk’字段) |
另外,如果需要休眠喚醒功能,則加wowlan_triggers=any配置
wpa_suppcliant舉例
wpa_supplicant -B -i wlan0 -c /data/cfg/wpa_supplicant.confg -f /tmp/wap.log2.wpa_cli使用
| scan | 打開后掃描AP |
| scan_results或scan_r | 顯示掃描結果 |
| status | 列出目前的聯網狀態。 |
| list_networks | 列出所有備選網絡。目前正連接到的網絡會標[CURRENT],禁用的網絡會標[DISABLE]。 |
| add_network | 增加一個備選網絡,輸出新網絡的號碼(這個號碼替代下文的[network_id])。注意新網絡此時是禁用狀態。 |
| set_network [network_id] ssid “Your SSID” | 設置無線網的名稱(SSID) |
| set_network [network_id] key_mgmt WPA-PSK | 設置無線網的加密方式為WPA-PSK/WPA2-PSK |
| set_network [network_id] psk “Your Password” | 設置無線網的PSK密碼 |
| enable_network [network_id] | 啟用網絡。啟用后如果系統搜索到了這個網絡,就會嘗試連接。 |
| disable_network [network_id] | 禁用網絡。 |
| save_config | 保存配置。 |
舉例
1.搜索網絡
[root@eufy /oem]$ wpa_cli scan Selected interface 'wlan0' OK [root@eufy /oem]$ wpa_cli scan_result Selected interface 'wlan0' bssid / frequency / signal level / flags / ssid 2a:47:3d:62:21:fb 2462 -16 [WPA2-PSK-CCMP][ESS] mr112 64:6e:97:0c:c9:68 2462 -51 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS] LdRobotAp-2.4 f8:8c:21:67:6b:67 2462 -28 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] app\xe7\xbb\x84 80:ea:07:81:24:85 2462 -75 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS] YAKO_2.4G f8:8c:21:67:6b:69 5785 -32 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] app\xe7\xbb\x84-5G 74:22:bb:89:0c:34 5180 -38 [WPA2-PSK-CCMP][ESS] WFW_5G 2c:15:e1:3d:ba:0d 5745 -37 [WPA2-PSK-CCMP][ESS] ASUS_0B_5G 48:0e:ec:8d:4f:7f 5805 -40 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] TP-LINK_4F7D2.查看狀態
[root@eufy /oem]$ wpa_cli status Selected interface 'wlan0' bssid=2a:47:3d:62:21:fb freq=2462 ssid=mr112 id=0 mode=station pairwise_cipher=CCMP group_cipher=CCMP key_mgmt=WPA2-PSK wpa_state=COMPLETED ip_address=192.168.191.5 address=20:32:33:38:32:72源碼分析
總結
以上是生活随笔為你收集整理的wpa_supplicant使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 移动开发之微信小程序——资料集合
- 下一篇: FLASH寿命测试!