Wpa_supplicant及wpa_cli介绍

本文介绍了WPA协议及其相对于WEP的安全改进,包括TKIP和AES加密。接着详细讲解了wpa_supplicant和wpa_cli的使用方法,包括启动、配置、连接和管理WIFI网络的步骤。

1.WPA概述:

WPA,即 Wi-Fi 保护访问。该协议于 2003 年推出,它是 Wi-Fi 联盟对 WEP 的替代协议。它与 WEP 有相似之处,但在处理安全密钥的方式和用户授权方式上进行了改进。WEP 为每个授权系统提供相同的密钥,而 WPA 使用临时密钥完整性协议 (TKIP),该协议可动态更改系统使用的密钥。这可以防止入侵者创建自己的加密密钥以匹配安全网络使用的密钥。TKIP 加密标准后来被高级加密标准 (AES) 所取代。

此外,WPA 包括消息完整性检查,以确定攻击者是否已捕获或更改数据包。WPA 使用的密钥为 256 位,相比 WEP 系统中使用的 64 位和 128 位密钥有了显著提升。但是,尽管存在这些改进,WPA 的元素还是遭到利用,这导致 WPA2 诞生。

您有时会听到与 WPA 相关的术语“WPA 密钥”。WPA 密钥是用于连接到无线网络的密码。您可以从运行网络的任何人那里获取 WPA 密码。在某些情况下,无线路由器上可能会印有默认的 WPA 密码。如果您无法确定路由器密码,也可以重置它。

2.Wpa_supplicant及wpa_cli介绍

a.概述:

Wpa_supplicant是一个连接、配置WIFI的工具。它主要包含两个程序:wpa_supplicant与wpa_cli。两者的关系就是server与client的关系。通常情况下,可以通过wpa_cli来进行WIFI的配置与连接,如果有特殊的需要,可以编写应用程序直接调用wpa_supplicant的接口直接开发。

b.使用方法:

(1)启动wpa_supplicant应用

wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf  -B

  1. -D 驱动程序名称
  2. -i 接口名称
  3. -c 配置文件
  4. -B 在后台运行守护进程

wpa_supplicant.conf文件的意义

根据配置文件/etc/wpa_supplicant.conf来初始化wlan0,用来保存用户连接过的WIFI热点,好处在于,然后每次开启WIFI时,则会自动根据该文件来连接热点。该文件保存的每个热点都有priority值,用来系统优先选择哪个热点。

注意:配置文件/etc/wpa_supplicant.conf文件里,添加下面代码:

ctrl_interface=/var/run/wpa_supplicant

update_config=1

1)ctrl_interface:

指向的是一个目录,在这个目录中默认会生成一个文件/var/run/wpa_supplicant/wlan0,这是local socket address,相当于UNIX Domain Socket,程序和后台程序wpa_supplicant进行通信(其实是wpa_supplicant作为后台服务程序是通过本地socket和客户端进行通信的)

2)update_config = 1时会在(客户端发送SAVE_CONFIG命令)更新这个配置文件

(2)启动wpa_cli应用

wpa_cli -i wlan0 scan

搜索附近 wifi 网络

wpa_cli -i wlan0 scan_result

打印搜索 wifi 网络结果

wpa_cli -i wlan0 add_network

添加一个网络连接,并返回网络ID号,如果wpa_supplicant.conf文件为空,则返回0,表示第一个热点,然后该ID号会在连接热点用到。

wpa_cli set_network 0 ssid '"wifi_name"'

设置ID为0的热点SSID,wifi_name热点名称

wpa_cli set_network 0 psk '"wifi_passwd"'

设置ID为0的热点的密码,wifi_passwd热点密码

wpa_cli set_network 0 scan_ssid 1

设置ssid默认为1即可,表示可以扫描隐藏wifi

wpa_cli set_network 0 priority 1

设置当前网络优先级为1

wpa_cli -i wlan0 enable_network 0

启动连接ID为0的网络

wpa_cli -i wlan0 select_network 0

选择网络0(这样做的好处在于,可以取消先前的其它网络连接)

(3)分配 ip,netmask,gateway,dns

udhcpc -b -i wlan0 -x hostname IPCAM -R

此时只是连接上,所以还要自动分配IP地址。-b:后台 -i:指定接口 -x:停止正在运行的DHCP客户端,而不释放当前租约 -R:退出时释放IP

(4)保存连接

wpa_cli -i wlan0 save_config

保存当前连接的网络配置到wpa_supplicant.conf文件中,使得下次自动连接

(5)查看网卡当前的连接状态

wpa_cli -i wlan0 status

(6)断开连接

wpa_cli -i wlan0 disable_network 0

与ID为0的网络进行断开

(7)连接已有的连接

wpa_cli -i wlan0 list_network

列举所有保存的连接

wpa_cli -i wlan0 select_network 0

连接第 1 个保存的连接

wpa_cli -i wlan0 enable_network 0

使能第 1 个保存的连接

(8)关闭WIFI

ifconfig wlan0 down

killall udhcpc

killall wpa_supplicant

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好想笑笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值