美文网首页程序员
玩转「Wi-Fi」系列之应用程序

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

作者: 程序手艺人 | 来源:发表于2018-05-30 07:11 被阅读110次

    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 <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中不能与其共存)。

    功能特色 :

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

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

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

    界面截图如下:

    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)

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

    参考

    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」系列之应用程序

        本文链接:https://www.haomeiwen.com/subject/lxozjftx.html