wpa_supplicant - 强有力的终端 wifi 配置工具【转】
本文转载自:http://rickgray.me/2015/08/03/useful-command-tool-for-wifi-connection.html
最近网购了一套Raspberry-Pi2,用来跑一些神秘脚本。因为树莓派是基于 ARM 架构的,所以给它装上了 Ubuntu专版,对于终端下基本的 iwconfig 命令可能对现代的多种加密方式的 wifi 已经不太适应了,取而代之的是支持多种加密方式(WEP, WPA and WPA2等)的 wpa_supplicant 更符合我的需求。
一、安装
Debian/Ubuntu 下直接使用 sudo apt-get install wpa_supplicant 来进行安装,CentOS 下使用 sudo yum install wpa_supplicant 来安装。
二、配置并使用
使用 iwconfig 命令来查看当前机器上被识别出来的无线设备,例如这里我的树莓派上插入了一块腾达的USB无线网卡,则在系统中会得到识别。

然后在 /etc/wpa_supplicant/ 目录下或者其它目录建立一个 wifi 的配置文件 example.conf,这里我创建在 /etc/wpa_supplicant/example.conf,并写入如下配置内容:
ctrl_interface=/run/wpa_supplicant
update_config=1
这样配置是为了后面可以使用 wpa_cli 命令来实时地扫描和配置网络,并能狗保存配置信息。
配置文件建立完毕后,运行 wpa_supplicant 命令来启动无线网络接口,并加载相关配置文件。
sudo wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant/example.conf

可以看到提示初始化成功,-B参数表示后台运行。如果遇到驱动不支持所插入的无线网卡,可选择wired或者wext等,具体详情可使用 wpa_supplicant -h 进行查看。
初始化完毕后,即可运行 sudo wpa_cli 来实时地配置网络。进入 wpa_cli 的交互界面后,它会自动地扫描周围的无线网络,你也可以使用 scan 命令进行手动扫描:

扫描完成后,使用 scan_result 打印扫描结果,选择你要连接的无线网络的 SSID(名称),然后新建一个网络配置信息(0代表了配置编号):
> add_network
然后对编号为 1 的网络配置信息进行设置:
> set_network 1 ssid "Wifi名称"
> set_network 1 psk "Wifi密码"
> set_network 1 key_mgmt "Wifi的加密方式(WPA-PSK/WPA2-PSK)"
设置好后,即可使用 enable_network 1 来启用该配置并使用 save_config 来保存当前配置至 /etc/wpa_supplicant/example.conf。

这是可以再次使用 iwconfig 命令来查看无线网卡信息,可以看到已经连接上了对应的 Wifi 并有了相应的信息。

一般 Wifi 的 IP 地址获取都使用了 DHCP 协议,因此我们还需要手动 dhclient wlan0 来自动协商获取 IP 地址。

下次启动时可以直接使用现有配置来对之前的 Wifi 进行连接,当然不要忘了使用相应命令来进行 DCHP 协商获取 IP 地址。
sudo wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant/example.conf
sudo dhclient wlan0
至此就大功告成了,终端下连接 Wifi 就是这么简单 :)
wpa_supplicant - 强有力的终端 wifi 配置工具【转】的更多相关文章
- Linux下Wi-Fi配置工具2
上回说到,linux下面的Wi-Fi配置工具,说是江湖多事,风起云涌...嗯,这回是真的要动手配置了.各种麻烦啊,想死的心都有了有木有啊. 尝试用iwconfig 话说上回说用iwconfig配置Wi ...
- 树莓派学习笔记——USB wifi配置指南
0 前言 树莓派既能够使用有线网络又能够无线网络,假设使用有线网络不方便的话能够借助USB wifi无线网卡让树莓派也插上无线"翅膀". 可是和使用有线网络即插即用的方式不 ...
- 小白自制Linux开发板 五. Debian文件系统制作,以及WIFI配置、交换分区配置
该片文章将完整记录一个Debian的最小文件系统的生成,以及自定义配置WIFI组件.网络组件和交换分区配置 本文章参考:https://whycan.com/t_4236.htmlhttp://www ...
- RASPBERRY PI wifi配置
Raspberry Pi 手把手教你在树莓派上安装USB无线网卡支持WIFI 树莓派虽然已经有了有线网卡,但是并未配置无线网卡,移动性不够强,好在机器配备了2个USB口,当然要分一个出来给WIFI无线 ...
- 树莓派最简易Wifi配置
树莓派最简易Wifi配置 相信我,连博客都会偷懒写个最简易给你看 前提,只有一根网线没有网络的前提下进行的. 基于Win10系统和树莓派2015-05-05-raspbian-wheezy.img测试 ...
- huhamhire-hosts — Hosts文件自动配置工具
https://www.anotherhome.net/1376 推荐配合EasyGoAgent使用: EasyGoAgent — 开箱即用的GoAgent Update 2015.5.15 数据文件 ...
- 基于终端的日志工具logview
概述 logview是一个Shell脚本编写的基于终端的日志工具, 具有终端通知, email通知, 错误信息颜色配置, 以及灵活强大的监控配置. 还可以灵活的配置脚本监控的时间, 以及错误发生时需要 ...
- Kali Linux中前十名的Wifi攻击工具
无 线网络的攻与防一直是比较热门的话题,由于无线信号可以被一定范围内的任何人接收到(包括死黑阔),这样就给WIFI带来了安全隐患:路由器生产厂商和网 络服务供应商(ISPs)的配置大多是默认开启了WP ...
- BatchConfigTool批量配置工具
海康批量配置工具BatchConfigTool是一款支持设备在线搜索.批量配置参数.批量升级等功能的软件,支持对大批量设备同时进行各参数的配置,极大的简化了操作过程! 软件功能 1.对在线设备进行搜索 ...
随机推荐
- ES6(数据结构)
一.set 用法 set 对数组进行转化 添加重复元素不会生效 (应用:去重复功能)转化过程不会有数据类型的转换 添加.删除.判断是否存在的方法 2. 读取(遍历)的几种方法 二.WeakSet 与S ...
- SGU515:Recover path 【最短路】
警告:这题卡SPFA,警告:这题卡SPFA 这不是演习 题目大意:给出一个无向图,以及一些点的序列,要找出一条最短的路径使得通过所有点,题目保证存在一条头尾都在点的序列中的最短路满足题意 思路:没有最 ...
- 2016 Multi-University Training Contest 5 solutions BY ZSTU
ATM Mechine E(i,j):存款的范围是[0,i],还可以被警告j次的期望值. E(i,j) = \(max_{k=1}^{i}{\frac{i-k+1}{i+1} * E(i-k,j)+\ ...
- Java有几种线程池?
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程newFixed ...
- WKWebView的了解
1. http://blog.csdn.net/chenyong05314/article/details/53735215 2. http://www.jianshu.com/p/6ba250744 ...
- python学习之-- redis模块操作 集合和有序集合
redis 模块操作之 集合set和有序集合zset Set 集合操作,不允许重复的列表sadd(name,value):name对应的集合中添加元素scard(name):获取name对应的集合中元 ...
- dsu on tree:关于一类无修改询问子树可合并问题
dsu on tree:关于一类无修改询问子树可合并问题 开始学长讲课的时候听懂了但是后来忘掉了....最近又重新学了一遍 所谓\(dsu\ on\ tree\)就是处理本文标题:无修改询问子树可合并 ...
- 胜利大逃亡--hdu --1253(bfs)
Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C ...
- OO第三单元总结--根据JML写代码
一. JML语言 1. 理论基础 首先,JML不是JAVA的一部分,它是一群研究者为JAVA设计的扩展部分,但还没有得到官方的支持.因此,JAVA编译器并不支持JML,所以要想JML起作用,只能采用类 ...
- Spring中使用Log4j记录日志
以下内容引用自http://wiki.jikexueyuan.com/project/spring/logging-with-log4j.html: 例子: pom.xml: <project ...