wpa_supplicant
目的
熟悉wpa_supplicant,并了解其并应用功能 , 以及 wpa_cli命令操作连接无线。。
什么是wpa_supplicant
它是用来配置无线网络的工具, 可以加密认证。
wpa_supplicant包含两个主要的可执行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序, 它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。
WPA: Wifi Protected Access 缩写,wifi网络安全保护存取。
是一种基于标准的可互操作的WLAN安全性增强解决方案,可大大增强现有以及未来无线局域网络的数据保护和访问控制水平。
wpa_supplicant是一个连接、配置WIFI的工具,它主要包含wpa_supplicant与wpa_cli两个程序。通常情况下,可以通过wpa_cli来进行WIFI的配置与连接,如果有特殊的需要,可以编写应用程序直接调用wpa_supplicant的接口直接开发。
wpa_supplicant 与 Wireless-tools区别
wpa_supplicant 不支持所有驱动,只能连接你已经配置好的ssid无线网络, 可以让你连接到使用的wpa的ap。支持wep, wpa, wpa2等完整加密。
Wireless-tools 只支持wep加密,支持几乎所有的无线网卡和驱动,但它不能连接到那些只支持WPA的AP。
安全性不同排序为:WEP<WPA<WPA2。WEP是Wired Equivalent Privacy的简称,有线等效保密(容WEP)协议是对在两台设备间无线传输的数据进行加密的方式,用以防止非法用户窃听或侵入无线网络。WPA全名为Wi-Fi Protected Access,有WPA和WPA2两个标准,是一种保护无线电脑网络(Wi-Fi)安全的系统,它是应研究者在前一代的系统有线等效加密(WEP)中找到的几个严重的弱点而产生的。WPA是用来替代WEP的。WPA继承了WEP的基本原理而又弥补了WEP的缺点:WPA加强了生成加密密钥的算法,因此即便收集到分组信息并对其进行解析,也几乎无法计算出通用密钥;WPA中还增加了防止数据中途被篡改的功能和认证功能。WPA2是WPA的增强型版本,与WPA相比,WPA2新增了支持AES的加密方式。
Wireless tools for Linux
iwlist/iwconfig/iw命令
wpa_supplicant 常用操作
官网
启动
wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B
-D 驱动程序名称(可以是多个驱动程序:nl80211,wext)
-i 接口名称
-c 配置文件
-B 在后台运行守护进程
扫描附近热点
wpa_cli -i wlan0 scan
显示扫描附近热点
wpa_cli -i wlan0 scan_result
当前网络状态
wpa_cli -i wlan0 status
添加网络 添加一个网络连接,会返回 network id
wpa_cli -i wlan0 add_network
设置网络密码
// wpa_cli set_network <network id> key_mgmt WPA-PSK 无线加密方式 //NONE
// wpa_cli set_network <network id> ssid \"name\" //ssid名称
wpa_cli set_network <network id> ssid '"name"' //ssid名称
wpa_cli set_network <network id> psk '“psk”' //密码
wpa_cli set_network <network id> scan_ssid 1
wpa_cli set_network <network id> priority 1 //优先级
保存连接
wpa_cli -i wlan0 save_config //信息保存到默认的配置文件中
断开连接
wpa_cli -i wlan0 disable_network <network id>
连接已有连接
wpa_cli -i wlan0 list_networks //列举保存过得连接
wpa_cli -i wlan0 select_network <network id> //连接指定的ssid
wpa_cli -i wlan0 enable_network <network id> //使能制定的ssid
配置文件示例: wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant/
ap_scan=1
network={scan_ssid=1ssid="xxxx"psk="xxxx"bssid=priority=2
}
命令行了解
命令 描述
status 显示当前连接的状态信息
ping 测试指令,看service端是否有响应
reassociate 设置连接标签,开启扫描,查找可用的AP进行连接,如果当前是连接状态,只会扫描一次。
password 设置密码
disconnect断开连接,并且会告知wpa_supplicant 不在连接其他AP
reconnect重新连接,在运行上面的过程后,运行此命令
reconfigure重新导入配置文件,可以在调试时,修改配置文件后运行此命令,使配置文件生效
scan 扫描
scan_result显示扫描结果
bss获取扫描结果 某一个热点的具体信息
list_networks已经保存配置文件中的AP
add_network添加一个AP配置,在framework还没调通之前,可以用此命令进行配置
set_network 设置ap的属性,用set_network 不接参数,可以看到所有可用信息。
select_network 选择一个已经配置的AP进行连接,这个命令用的比较多。上面set_n 命令进行配置后,可以用这命令进行连接
enable_network将network 的标志位
disable 置0,该位为1时,wifi在断开连接状态,不会去主动连接该热点。如果wifi不主动连接任何热点,可以查看配置文件。
disable_network 对应上面disable_network network_id
remove_network id 会删除对应network配置
get_network 获取network的属性对应之前的set_network
save_config 保存信息到配置文件中,每次修改配置后记得用
不同的无线网络认证方式不同设置:
1)open(开放式认证方式,分为):wpa_cli -iwlan0 set_network 0 ssid '"wlan"'(PS:wlan是无线的ssid号,外面是一对双引号,然后再外面是一对单引号)wpa_cli -iwlan0 set_network 0 key_mgmt NONE
2)wep(分为开放式和共享式):wpa_cli -iwlan0 set_network 0 ssid '"wlan"'wpa_cli -iwlan0 set_network 0 key_mgmt NONEwpa_cli -iwlan0 set_network 0 wep_key0 '"wlan_key"'如果是共享式,还需要配置:wpa_cli -iwlan0 set_network 0 auth_alg SHARED(默认是开放式,可以不配置)3)WPA/WPA2-Personal认证方式:wpa_cli -iwlan0 set_network 0 ssid '"wlan"'wpa_cli -iwlan0 set_network 0 key_mgmt WPA-PSKwpa_cli -iwlan0 set_network 0 proto WPA(WPA2)wpa_cli -iwlan0 set_network 0 pairwise TKIP(CCMP)wpa_cli -iwlan0 set_network 0 group TKIP(CCMP)wpa_cli -iwlan0 set_network 0 psk '"wlan_password"'4)WPA/WPA2-Enterprise认证方式:wpa_cli -iwlan0 set_network 0 ssid '"wlan"'wpa_cli -iwlan0 set_network 0 key_mgmt WPA-EAPwpa_cli -iwlan0 set_network 0 pairwise TKIP(CCMP)wpa_cli -iwlan0 set_network 0 group TKIP(CCMP)wpa_cli -iwlan0 set_network 0 eap PEAPwpa_cli -iwlan0 set_network 0 identity '"username"'wpa_cli -iwlan0 set_network 0 password '"password"'如果是WPA2-Enterprise认证:需要设置proto:wpa_cli -iwlan0 set_network 0 protoWPA2
查看博客
wpa_supplicant
wpa_supplicant详解
wpa_supplicant 使用
wpa_supplicant 常用操作
命令状态查看
wpa_passphrase – 产生一个存储ssid与之对应的psk密码的文件
wpc_cli命令
wpa_supplicant了解
wpa_supplicant相关推荐
- 深入理解 wpa_supplicant(四)
本文为<深入理解Android Wi-Fi.NFC和GPS卷>读书笔记,Android源码为Android 5.1 android-5.1/external/wpa_supplicant_ ...
- 深入理解 wpa_supplicant(三)
本文为<深入理解Android Wi-Fi.NFC和GPS卷>读书笔记,Android源码为Android 5.1 android-5.1/external/wpa_supplicant_ ...
- 深入理解 wpa_supplicant(二)
本文为<深入理解Android Wi-Fi.NFC和GPS卷>读书笔记,Android源码为Android 5.1 struct wpa_global * wpa_supplicant_i ...
- 深入理解 wpa_supplicant(一)
本文为<深入理解Android Wi-Fi.NFC和GPS卷>读书笔记,Android源码为Android 5.1 wpa_supplicant 是一个开源软件项目,它实现了 Statio ...
- wpa_supplicant学习
2019独角兽企业重金招聘Python工程师标准>>> interface gtk makefile wrapper buffer methods 目录(?)[-] 本来以 ...
- linux 失败模式,在Linux中在AP模式下扫描失败(wpa_supplicant)
我正在使用wpa_supplicant创建一个访问点: wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant_ap.conf 问题是当在接 ...
- linux 无线网络配置工具wpa_supplicant与wireless-tools
内容: 介绍 WPA Supplicant Wireless Tools 针对每个ESSID的网络配置 4.a. 介绍 目前您可以使用我们提供的wireless-tools 或wpa_supplica ...
- wpa_supplicant drivers 查看跟踪
/***************************************************************************** wpa_supplicant driver ...
- android wlan0 网卡过程,android WIFI网络驱动之wpa_supplicant程序详解
http://blog.csdn.net/wh_19910525/article/details/7392147 2012 目前可以使用wireless-tools 或wpa_supplicant工具 ...
- wpa_supplicant与kernel的接口
2019独角兽企业重金招聘Python工程师标准>>> 1. 接口定义实现wpa_drivers wpa_drivers的定义如下: [cpp] view plaincopy str ...
最新文章
- 推理芯片的性能建立在优化的存储子系统设计上
- 生信服务器 | 防火墙基本配置
- ajax获取单选按钮的值_【自学C#】|| 笔记 31 控件,按钮
- 安装eclipse时遇到的问题
- 如何把linux电脑当做数据库,在linux下如何进行mysql命令行 创建数据库linux操作系统 -电脑资料...
- TCP粘包和拆包原因
- 实验:sigsuspend(),sigprocmask()
- leetcode696. 计数二进制子串
- [css] 外边距重叠是什么?重叠的结果是什么?怎么防止外边距重叠?
- [Swift]loadNibNamed方法
- python爬虫爬图片教程_python爬虫实战之爬取京东商城实例教程
- 从物理页面的争抢看linux内核内存管理
- Centos 7 开机提示 Entering emergency mode 解决方法
- 实习日记——Day38
- 2019顺网无盘服务器配置,顺网无盘如何不安装网维客户端上传系统到无盘服务器...
- q87芯片组服务器主板,Intel 100系列芯片组详解:史上最良心!
- 超简单的wf日记程序
- 判断一个单链表是否有环,若有,找出环的入口节点
- 从管理的角度分享技术 TL 的核心职责:包括沟通与辅导、招聘与解雇等
- 线性代数 为什么齐次线性方程有非零解的充要条件是系数行列式不等于零?