1、加载驱动
insmod /system/lib/modules/wlan.ko
注意: 如果 /data/misc/wifi 或者 /data/misc/wifi/sockets 下有 wlan0 先删除
2、加载wpa_supplicant(STA模式)
wpa_supplicant -iwlan0 -Dnl80211 -c/etc/wifi/wpa_supplicant.conf -d -B //-B为后台运行
查看 /data/misc/wifi 或者 /data/misc/wifi/sockets 目录下是否有 wlan0
3、运行wpa_cli
根据wpa_supplicat 创建的临时 socket 去传-g后面的路劲参数
wpa_cli -iwlan0 -g /data/misc/wifi/sockets/wlan0
->scan
->scan_result (显示已经搜索到的设备)
->add_network (返回一个序号,后面set_network和enable_network用这个需要)
->set_network 0 ssid “路由名字” (0是上面返回的序号)
->set_network 0 psk “路由密码”
->enable_network 0
->status (查看状态,如果连接能看到CONNECTED)
4、如果是主界面中open wifi,然后wpa_supplicant服务已确定运行,可以使用adb命令查WIFI的信息.
WIFI的ADB命令积累:
1、status 查看当前的WIFI状态
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 status
2、terminate 立即关闭 wpa_supplicant // 关闭WIFI
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 terminate
list_networks 连接过的WIFI
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 list_networks
3、select_network 设置连接到热点 nitid对应的热点 先断开连接的热点 再去连接netid
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 select_network 2
4.select_network 设置连接到热点 nitid对应的热点 先断开连接的热点 再去连接netid
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 select_network 2
5、5.disable_network 断开与热点的连接 断开后又会默认连接上
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 disable_network 5
6.signal_poll get signal parameters
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 signal_poll
7.pktcnt_poll get TX/RX packet counters
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 pktcnt_poll
8. DRIVER MACADDR 获得MAC地址
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 DRIVER MACADDR
Macaddr = 5c:a8:6a:e5:cb:cd
9.reassociate 重连接
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 reassociate
10.reattach 重连接当前已连接的WIFI
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 reattach
11.ifname 查看当前使用的网卡
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 ifname
12.interface 当前可用接口
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 interface
13.ping 检测Supplicant是否正常
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 ping
14、add_network 保存一个网络(参数未知)
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 add_network XXXX
15.remove_network
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 remove_network 6
16.disconnect 段开当前连接
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 disconnect
17.reconnect 再次连接 如果已经连接则不执行
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 reconnect
18.scan 启动扫描
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 scan
19.scan_results 得到最新的扫描结果
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 scan_results
20.bss 查看热点详情
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 bss 70:62:b8:62:2e:c4
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 bss cts
21.get_capability <eap/pairwise/group/key_mgmt/proto/auth_alg/channels/freq/modes> = get capabilies
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 get_capability eap
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 get_capability pairwise
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 get_capability group
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 get_capability proto
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 get_capability auth_alg
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 get_capability channels
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 get_capability freq
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 get_capability mode
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 get_capability
22.relog
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 relog
23.mib
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 mib (Manager Info Base)基础数据库
24.help
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 help
26.dump 查看变量
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 dump
27. log_level
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 log_level
28.reconfigure 重新配置 reconfigure = force wpa_supplicant to re-read its configuration file
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 reconfigure
29.scan_interval 设置扫描间隔
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 scan_interval 3
30.blacklist 黑名单
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 blacklist
31.DRIVER GET_STA_STATISTICS <MACADDRESS> 查看手机STA信息
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 DRIVER GET_STA_STATISTICS 5c:a8:6a:e5:cb:cd
32. set set命令设置环境变量(dump里的变量)
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 set passive_scan 1
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 set oce 1
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 set okc 1
33:get get命令 查询环境变量(dump里的变量)
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 get passive_scan
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 get oce
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 get okc
========================================================================================
34:pmksa [show PMKSA cache]
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 pmksa_flush [ok]
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 pmksa
35:preauthenticate [预先认证]
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 preauthenticate 18:64:72:21:86:43
37:log_level [ DEBUG | INFO ] 【 设置LOG等级 】
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 log_level
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 log_level DEBUG
adb shell wpa_cli -iwlan0 -g@android:wpa_wlan0 IFNAME=wlan0 log_level INFO