程序员

玩转「Wi-Fi」系列之应用程序

2018-05-30  本文已影响110人  程序手艺人

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

NetworkManager

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

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

功能特色 :

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

  1. 连接 WiFi 网络:

nmcli dev wifi connect <name> password <password>

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

nmcli dev wifi connect <name> password <password> iface wlan1 [profile name]

  1. 断开一个接口:

nmcli dev disconnect iface eth0

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

nmcli con up uuid <uuid>

  1. 获得 UUID 列表:

nmcli con show

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

nmcli dev

  1. 关闭 WiFi:

nmcli r wifi off

参考

Wicd

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

功能特色 :

界面截图如下:

wicd 界面截图

参考

Connman

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

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

功能特色:

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

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

参考

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展开的,敬请期待!

上一篇下一篇

猜你喜欢

热点阅读