Android(安卓)wpa_cli 调试方法(adb shell 命令)
svn wifi able / svn wif disable 关闭和打开wifi
adb shell 和adb区别!
常用的adb shell命令 :如果输入命令无效'b,确认是不是在root目录下!su切换
1. 打开wlan0
这个没什么好说的,ifconfig wlan0 up
2、启动wpa_supplicant
命令如下:可以参考下自己init.xxx.rc是如何配置的,参数可能会不一样。
wpa_supplicant –iwlan0 –Dnl80211 –c 配置文件 &
-i:指定网口;
-D:指定驱动类型;
-c:指定了wpa_supplicant的配置文件。
输入:wpa_supplicant -d –iwlan0 –Dnl80211 –c/etc/wifi/wpa_supplicant.conf & 出现如下
所以就输入:
执行完命令后:确保wpa_supplicant已经运行起来了,可以ps看下
2.启动WPA_CLI
wpa_cli -i网口 -p socket所在路径
例如像我刚才那么调用的话,则用下面命令启动:
wpa_cli -iwlan0 -p /data/misc/wifi/sockets/
shell@n74001:/system/bin # wpa_cli -iwlan0 -p /data/misc/wifi/sockets/
4、扫描ap
输入scan命令
依次输入红色标注的命令
> scan
OK
<3>CTRL-EVENT-STATE-CHANGE id=-1 state=3 BSSID=00:00:00:00:00:00 SSID=
<3>CTRL-EVENT-SCAN-RESULTS
<3>CTRL-EVENT-STATE-CHANGE id=-1 state=0 BSSID=00:00:00:00:00:00 SSID=
> 123456
wpa_supplicant有“CTRL-EVENT-SCAN-RESULTS ”的回复,则可以输入scan_results可以看到扫描结果,如下图。
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
> scan_results
bssid / frequency / signal level / flags / ssid
18:52:82:28:c3:1d 2467 -59 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] ChinaNet-Vz6E
14:75:90:f0:21:ec 2437 -56 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] Systemtec
fc:2f:ef:d8:99:68 2417 -77 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS] YTZQ01
a8:57:4e:5b:61:28 2437 -80 [WPA-PSK-CCMP][WPA2-PSK-CCMP][WPS][ESS] hobartchina1811
fc:2f:ef:d8:99:69 2417 -77 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS] YTZQ02
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
> add_network
1
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
> set_network 1 ssid "Systemtec"
OK
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
> set_network 1 key_mgmt WPA-PSK
OK
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
> set_network 1 psk "Net9400668600"
OK
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
> set_network 1 pairwise CCMP
OK
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
> set_network 1 group CCMP
OK
<3>CTRL-EVENT-SCAN-STARTED
> set_network 1 proto WPA2
OK
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
>
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
> enable_network 1
OK
<3>Trying to associate with 14:75:90:f0:21:ec (SSID='Systemtec' freq=2437 MHz)
<3>CTRL-EVENT-STATE-CHANGE id=-1 state=5 BSSID=00:00:00:00:00:00 SSID=
<3>CTRL-EVENT-STATE-CHANGE id=1 state=6 BSSID=00:00:00:00:00:00 SSID=Systemtec
<3>Associated with 14:75:90:f0:21:ec
<3>CTRL-EVENT-STATE-CHANGE id=1 state=7 BSSID=14:75:90:f0:21:ec SSID=Systemtec
<3>CTRL-EVENT-STATE-CHANGE id=1 state=8 BSSID=14:75:90:f0:21:ec SSID=Systemtec
<3>WPA: Key negotiation completed with 14:75:90:f0:21:ec [PTK=CCMP GTK=CCMP]
<3>CTRL-EVENT-CONNECTED - Connection to 14:75:90:f0:21:ec completed [id=1 id_str=]
<3
> save
OK
步骤如下:
(1)“add_network”,这里返回网络ID 为 1。
(2) 配置网络的 SSID,执行 set_network 1 ssid AP 的 SSID。
(3)配置网络的加密方式和密码。
(4)启动网络,执行“enable_network 0”。
(5)收到“CTRL-EVENT-CONNECTED”表示连接成功。
6、分配IP
此时已经连接上ap,dhcp分配一个IP即可。
输入 q 退出 wpa_cli,执行命令:dhcpcd wlan0
此时已经可以ping通了,在Android系统里,还需要设置DNS这些,在Android里,这些流程会有netd来完成,这里就不说了。
顺利ping通外网
更多相关文章
- Android(安卓)Stutio设置注释模板
- geekband android #5 第八周分享
- 调用startactivityforresult后,onactivityresult响应
- Android(安卓)输入法汇总
- 查看Android设备Mem命令
- Android(安卓)4.1 Netd详细分析(五)代码分析3
- adb命令基本操作
- Java/Android中实现Shell命令
- Fragment(二)-----分析执行的过程篇