目的

熟悉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相关推荐

  1. 深入理解 wpa_supplicant(四)

    本文为<深入理解Android Wi-Fi.NFC和GPS卷>读书笔记,Android源码为Android 5.1 android-5.1/external/wpa_supplicant_ ...

  2. 深入理解 wpa_supplicant(三)

    本文为<深入理解Android Wi-Fi.NFC和GPS卷>读书笔记,Android源码为Android 5.1 android-5.1/external/wpa_supplicant_ ...

  3. 深入理解 wpa_supplicant(二)

    本文为<深入理解Android Wi-Fi.NFC和GPS卷>读书笔记,Android源码为Android 5.1 struct wpa_global * wpa_supplicant_i ...

  4. 深入理解 wpa_supplicant(一)

    本文为<深入理解Android Wi-Fi.NFC和GPS卷>读书笔记,Android源码为Android 5.1 wpa_supplicant 是一个开源软件项目,它实现了 Statio ...

  5. wpa_supplicant学习

    2019独角兽企业重金招聘Python工程师标准>>> interface  gtk  makefile  wrapper  buffer  methods 目录(?)[-] 本来以 ...

  6. linux 失败模式,在Linux中在AP模式下扫描失败(wpa_supplicant)

    我正在使用wpa_supplicant创建一个访问点: wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant_ap.conf 问题是当在接 ...

  7. linux 无线网络配置工具wpa_supplicant与wireless-tools

    内容: 介绍 WPA Supplicant Wireless Tools 针对每个ESSID的网络配置 4.a. 介绍 目前您可以使用我们提供的wireless-tools 或wpa_supplica ...

  8. wpa_supplicant drivers 查看跟踪

    /***************************************************************************** wpa_supplicant driver ...

  9. android wlan0 网卡过程,android WIFI网络驱动之wpa_supplicant程序详解

    http://blog.csdn.net/wh_19910525/article/details/7392147 2012 目前可以使用wireless-tools 或wpa_supplicant工具 ...

  10. wpa_supplicant与kernel的接口

    2019独角兽企业重金招聘Python工程师标准>>> 1. 接口定义实现wpa_drivers wpa_drivers的定义如下: [cpp] view plaincopy str ...

最新文章

  1. 推理芯片的性能建立在优化的存储子系统设计上
  2. 生信服务器 | 防火墙基本配置
  3. ajax获取单选按钮的值_【自学C#】|| 笔记 31 控件,按钮
  4. 安装eclipse时遇到的问题
  5. 如何把linux电脑当做数据库,在linux下如何进行mysql命令行 创建数据库linux操作系统 -电脑资料...
  6. TCP粘包和拆包原因
  7. 实验:sigsuspend(),sigprocmask()
  8. leetcode696. 计数二进制子串
  9. [css] 外边距重叠是什么?重叠的结果是什么?怎么防止外边距重叠?
  10. [Swift]loadNibNamed方法
  11. python爬虫爬图片教程_python爬虫实战之爬取京东商城实例教程
  12. 从物理页面的争抢看linux内核内存管理
  13. Centos 7 开机提示 Entering emergency mode 解决方法
  14. 实习日记——Day38
  15. 2019顺网无盘服务器配置,顺网无盘如何不安装网维客户端上传系统到无盘服务器...
  16. q87芯片组服务器主板,Intel 100系列芯片组详解:史上最良心!
  17. 超简单的wf日记程序
  18. 判断一个单链表是否有环,若有,找出环的入口节点
  19. 从管理的角度分享技术 TL 的核心职责:包括沟通与辅导、招聘与解雇等
  20. 线性代数 为什么齐次线性方程有非零解的充要条件是系数行列式不等于零?

热门文章

  1. 【到底什么才是电角度呢?如何使用示波器精准的测量电角度呢?】
  2. 图解WinXP局域网共享设置步骤
  3. 计算机硬件acc作用,累加器A的主要作用是什么_一文解析累加器a和acc的区别
  4. 总结几个有关国家行政区划的问题
  5. 在线等比数列求和计算器
  6. android 外接键盘,安卓手机外接键盘测评
  7. C++--最大公约数和最小公倍数
  8. 计算机电源带不起来,电脑电源不稳定的表现有哪些_电脑电源带不动的症状
  9. 口碑点餐相关问题FAQ
  10. 基于vue3 实现页面自动配色、颜色选择器组件