本文转载自: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 配置工具【转】的更多相关文章

  1. Linux下Wi-Fi配置工具2

    上回说到,linux下面的Wi-Fi配置工具,说是江湖多事,风起云涌...嗯,这回是真的要动手配置了.各种麻烦啊,想死的心都有了有木有啊. 尝试用iwconfig 话说上回说用iwconfig配置Wi ...

  2. 树莓派学习笔记——USB wifi配置指南

    0 前言     树莓派既能够使用有线网络又能够无线网络,假设使用有线网络不方便的话能够借助USB wifi无线网卡让树莓派也插上无线"翅膀". 可是和使用有线网络即插即用的方式不 ...

  3. 小白自制Linux开发板 五. Debian文件系统制作,以及WIFI配置、交换分区配置

    该片文章将完整记录一个Debian的最小文件系统的生成,以及自定义配置WIFI组件.网络组件和交换分区配置 本文章参考:https://whycan.com/t_4236.htmlhttp://www ...

  4. RASPBERRY PI wifi配置

    Raspberry Pi 手把手教你在树莓派上安装USB无线网卡支持WIFI 树莓派虽然已经有了有线网卡,但是并未配置无线网卡,移动性不够强,好在机器配备了2个USB口,当然要分一个出来给WIFI无线 ...

  5. 树莓派最简易Wifi配置

    树莓派最简易Wifi配置 相信我,连博客都会偷懒写个最简易给你看 前提,只有一根网线没有网络的前提下进行的. 基于Win10系统和树莓派2015-05-05-raspbian-wheezy.img测试 ...

  6. huhamhire-hosts — Hosts文件自动配置工具

    https://www.anotherhome.net/1376 推荐配合EasyGoAgent使用: EasyGoAgent — 开箱即用的GoAgent Update 2015.5.15 数据文件 ...

  7. 基于终端的日志工具logview

    概述 logview是一个Shell脚本编写的基于终端的日志工具, 具有终端通知, email通知, 错误信息颜色配置, 以及灵活强大的监控配置. 还可以灵活的配置脚本监控的时间, 以及错误发生时需要 ...

  8. Kali Linux中前十名的Wifi攻击工具

    无 线网络的攻与防一直是比较热门的话题,由于无线信号可以被一定范围内的任何人接收到(包括死黑阔),这样就给WIFI带来了安全隐患:路由器生产厂商和网 络服务供应商(ISPs)的配置大多是默认开启了WP ...

  9. BatchConfigTool批量配置工具

    海康批量配置工具BatchConfigTool是一款支持设备在线搜索.批量配置参数.批量升级等功能的软件,支持对大批量设备同时进行各参数的配置,极大的简化了操作过程! 软件功能 1.对在线设备进行搜索 ...

随机推荐

  1. Android开发——后台获取用户点击位置坐标(可获取用户支付宝密码)

    1. getevent命令 我们首先是根据adb shell getevent命令获取到被点击位置的信息. 这里要说明的是,不同的手机手机获得的点击输出是不一样的.以我的真机为例,输出如下 本文原创, ...

  2. Spring核心技术(十)——JSR-330标准注解

    从Spring 3.0开始,Spring开始支持JSR-330标准的注解(依赖注入).这些注解和Spring注解扫描的方式是一直的,开发者只需要在classpath中配置相关的jar包即可. 如果开发 ...

  3. hdu 2669 扩展欧几里得(裸)

    #include<stdio.h> #include<iostream> #define ll __int64 ll gcd(ll a,ll b,ll &x,ll &a ...

  4. mybatis使用步骤

    1.创建config.xml文件.设置环境.数据源等: 2.设置mapper.xml文件.写sql:下面图中的resultType属性经常会替换为resultMap,不过需要加入<resultM ...

  5. 【BZOJ4736】温暖会指引我们前行(LCT)

    题意:有一张图,每条边有一个不同的编号,长度和权值,维护以下操作: 1.加边 2.修改边长 3.询问两点之间在最小权值最大的前提下的唯一路径长度 n<=100000 m<=300000 思 ...

  6. 【BZOJ1211】树的计数(Prufer编码)

    题意:一个有n个结点的树,设它的结点分别为v1, v2, …, vn, 已知第i个结点vi的度数为di,问满足这样的条件的不同的树有多少棵. 其中1<=n<=150,输入数据保证满足条件的 ...

  7. C#特性入门《详解》

    原文发布时间为:2008-11-22 -- 来源于本人的百度文章 [由搬家工具导入] <转>http://www.bccn.net/Article/net/cs/jszl/200709/6 ...

  8. C语言基本概念之表达式

    原文地址:http://blog.csdn.net/astrotycoon/article/details/50857326 [侵删] 什么是表达式(表达式的定义)? 对于表达式的定义,好像从来没有人 ...

  9. 理解 mysql行锁和表锁

    在调用存储过程中,就会涉及到表锁,行锁这一概念:所谓区别:有索引的时候就是行锁,没有索引的时候就是表索. innodb 的行锁是在有索引的情况下,没有索引的表是锁定全表的. 表锁演示(无索引) Ses ...

  10. http的N种请求

    GET通过请求URI得到资源 POST,用于添加新的内容 PUT用于修改某个内容 DELETE,删除某个内容 CONNECT,用于代理进行传输,如使用SSL OPTIONS询问可以执行哪些方法 PAT ...