Linux 下的常用网络应用程序有很多, 核心基本都是wpa_supplicant的封装。这里主要分类介绍:

NetworkManager

NetworManager是检测网络、自动连接网络的程序。无论是无线还是有线连接,它都可以令您轻松管理。对于无线网络,网络管理器优先连接已知的网络并可以自动切换到最可靠的无线网络。利用网络管理器的程序可以自由切换在线和离线模式。

网络管理器会相对无线网络优先选择有线网络,支持 VPN。网络管理器最初由 Redhat 公司开发,现在由 GNOME 管理。

功能特色 :

  • 支持使用蓝牙,不仅支持个人区域网络(PAN)上网,也支持老的蓝牙拨号网络(DUN)协议

  • 支持更多的的网络设备有关。从0.8.1开始增加了用于GSM、UMTS和CDMA卡等移动宽带设备ModemManager的支持

  • 支持IPv6的自动配置和静态IP,新版本中会带来IPv6的DHCP支持

它有自己的cli工具:nmcli。使用nmcli用户可以查询网络连接的状态,也可以用来管理WiFi。常用语法:

  1. 连接 WiFi 网络:

nmcli dev wifi connect password

  1. 通过wlan1接口连接 WiFi 网络:

nmcli dev wifi connect password iface wlan1 [profile name]

  1. 断开一个接口:

nmcli dev disconnect iface eth0

  1. 重新连接一个标记为已断开的接口:

nmcli con up uuid

  1. 获得 UUID 列表:

nmcli con show

  1. 查看网络设备及其状态列表:

nmcli dev

  1. 关闭 WiFi:

nmcli r wifi off

参考

  • 项目主页
  • NetworkManager简介
  • linux强大的网络管理工具

Wicd

Wicd是一个网络连接管理开源工具,旨在简化Linux中的有线和无线网络。是 NetworkManager 的替代方案(Ubuntu中不能与其共存)。

功能特色 :

  • 全功能的交互式控制台界面和图形界面没有必需的图形依赖(即没有X,Gnome,KDE)GTK接口没有GNOME依赖关系,所以它可以在XFCE,Fluxbox,Openbox,Enlightenment等中使用。

  • 能够连接到有线(仅以太网,尚无PPPoE / DSL支持)和无线网络每个无线网络和有线网络的配置文件许多加密方案,其中一些包括WEP / WPA / WPA2(您可以添加自己的)仍然与无线工具兼容显示网络活动和信号强度的托盘图标

  • 兼容标准的* nix网络命令(iwconfig,ifconfig等)配置完成后,即使X显示器未启动,也会连接可以使用wicd-curses通过命令行进行管理和配置支持有线网络,以及命名配置文件保存多个有线配置。

界面截图如下:

参考

  • 项目主页
  • wicd介绍
  • wicd

Connman

ConnMan是管理嵌入式设备内互联网连接的守护进程,集成了大量的通信功能,通常分为许多守护进程,如DHCP,DNS和NTP。这种整合的结果是低内存消耗,对网络状况变化的快速,连贯,同步反应。

ConnMan是一个完全模块化的系统,可以通过插件进行扩展,以支持各种有线或无线技术。插件方法可以轻松适应和修改各种用例。它与嵌入式Yocto构建系统一起使用,是GENIVI车载信息娱乐规范。

功能特色:

  • 设备和网络抽象(具有基本的存储支持)peizhi

  • IPv4, IPv4-LL (link-local) and DHCP

  • IPv6, DHCPv6 and 6to4 tunnels

  • Advanced routing 和 DNS配置 

  • 内置的DNS代理和智能缓存

  • 内置WISPr热点登录和门户检测

  • 时间和时区配置(手动和自动NTP)

  • 代理处理(手动和自动WPAD)

  • 共享支持(USB 蓝牙和WIFI AP模式)

各种插件可以启用网络支持

  • 以太网插件

  • WiFi插件与WEP40/WEP128 和 WPA/WPA2 (个人和企业)

  • 蓝牙插件(BlueZ)

  • 2G/3G/4G 插件(oFono)

详细的使用下一节介绍,敬请期待!

参考

  • 项目主页
  • Managing Internet connections on Linux devices with ConnMan
  • Connman 网络管理 快速入手指南

wpa_supplicant

wpa_supplicant本是开源项目源码,被谷歌修改后加入android移动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过socket发送命令wpa_supplicant调动驱动来对WiFi芯片操作。

简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。

wpa_supplicant是支持WPA和WPA2(IEEE 802.11i / RSN)的Linux,BSD,Mac OS X和Windows的WPA请求者。它适用于台式机/笔记本电脑和嵌入式系统。请求者是在客户站中使用的IEEE 802.1X / WPA组件。

它实现与WPA身份验证器的密钥协商,并控制WLAN驱动程序的漫游和IEEE 802.11身份验证/关联。wpa_supplicant被设计成一个在后台运行的“守护程序”程序,并作为控制无线连接的后端组件。

wpa_supplicant支持单独的前端程序,包含基于文本的前端(wpa_cli)和GUI(wpa_gui)。

参考

  • 项目主页

后续的一系列教程基本都是围绕wpa_supplicant展开的,敬请期待!

玩转「Wi-Fi」系列之应用程序(五)相关推荐

  1. 拯救流浪猫 | 「喵先锋」系列数字版权盲盒明日开抢

    无界版图X奇帧元界  「喵先锋」系列 WORLD OF  CAT 「喵先锋」系列   2022年8月2日 11:00-14:00优先购 发售通知 ▷活动预告 平台将于北京时间2022年8月2日以盲盒形 ...

  2. 揭开程序员身上的「专业面纱」:非科班程序员,都来自哪些专业?

    [文章来源微信公众号:每天学编程] 专业选择重不重要?这几乎成了每年高考后的「全民话题」.有人说「专业决定就业」,有人说「职业无关专业」.对于程序员群体而言,大学专业对他们的职业选择发展又有着怎样的影 ...

  3. 「THE NEXT」第三届全球小程序生态大会圆满成功,规模空前,爆点不断

    2019年12月20日,备受投资人和小程序从业者关注的「THE NEXT」第三届全球小程序生态大会在北京国家会议中心圆满结束. 吴志祥领衔开场,猫眼.京东等平台解读小程序的无限未来.全网小程序TOP1 ...

  4. 「创业干货」拼车小程序的盈利模式探究,及快速有效的推广方法!

    「创业干货」拼车小程序的盈利模式探究,及快速有效的推广方法! 前言:小宝的搜狐号"马上来说事"刚刚开通就得到了很多朋友的关注,大多朋友关心的话题就是上线的拼车小程序如何盈利,以及如 ...

  5. 三招武林绝学带你玩转「强化学习」

    作者丨王维埙 学校丨天津大学硕士生 研究方向丨DRL & MAS 以彼之道还施彼身 ■ 论文 | Maintaining Cooperation in Complex Social Dilem ...

  6. 「分布式系统理论」系列专题

    如今互联网已经成为整个社会的基础设施,分布式系统并不是少数大公司的专属,所以分布式系统理论可能是你迟早需要掌握的知识. 如果你是程序员,相信这些文章你肯定能看懂:如果你不是程序员,相信这些能使你能更懂 ...

  7. 「分布式系统理论」系列专题整理

    以下内容出自微信公众号 跨界架构师 ,有兴趣的朋友可以参考我的博客 DotNet微信公众号简介 进行关注. [数据一致性] <分布式系统关注点(1)--数据一致性>(入门理解「一致性」) ...

  8. 微软应用商店的服务器,微软也玩起「快应用」,首批 PWA 应用登陆微软商店

    意大利媒体 Aggiornameti Lumia 近期发现,首批 Progressive Web App 已经悄然登陆微软商店. Progressive Web App,简称 PWA,是一种新的 We ...

  9. 「分布式训练」使用 DDP 实现程序单机多卡并行指南

    最近在大趋势的影响下,开始染指大模型.由于实验室计算资源的限制,需要使用单机多卡并行的方式运行程序,这里以 BLOOM-560m 模型为例,演示如何通过单机多卡DDP并行的方式微调完成下游任务. 目录 ...

最新文章

  1. linux设备驱动之USB主机控制器驱动分析
  2. 关于Unity中场景的导入与导出(专题九)
  3. 微信企业号:shell定时发送图片 到 指定人
  4. 【飞控理论】从零开始学习Kalman Filters之二:最优状态估计、最优估计算法和方程
  5. PyTorch 深度学习:32分钟快速入门——ResNet
  6. matlab2c使用c++实现matlab函数系列教程-ceil函数
  7. 自动化测试方案设计和实现
  8. 怪物之心无法触发_《异度之刃2》稀有异刃力男怪物之心支线任务攻略
  9. matlab演示波粒二象性,MATLAB实验电子波动性的Matlab仿真
  10. iphone 计算机的shift键在哪,苹果电脑shift是哪个键 苹果电脑shift是什么键
  11. Shiro高版本默认密钥的漏洞利用
  12. 关于铭锐办公系统运行节资统计
  13. 嵌入式平台ssh开发环境搭建
  14. 源码安装postgresql9.5.1
  15. 前端复习之JavaScript(ECMAScript5)
  16. Android SDK工具链清单
  17. 魏晋南北朝:北国飘雪(一)
  18. 什么是.vue文件,它的作用是什么
  19. 【分享】作为测试,如何快速进阶提薪?
  20. 再别康桥 --徐志摩

热门文章

  1. 肩周炎的症状有哪些?及时了解有好处
  2. springPersistence
  3. C1认证学习二(信息单位)
  4. 计算机编程情话,[程序员的爱情表白代码]献给程序员们的爱情表白书
  5. IOS 应用关闭屏幕锁定分析
  6. python报告的创新点_工作报告之论文开题报告创新点
  7. 统计学:偏度和峰度的概念与计算
  8. 3G手机视频开发平台
  9. JavaScript中的 new 操作符到底做了些什么?
  10. 一文带你了解React框架