惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
爱范儿
爱范儿
Blog — PlanetScale
Blog — PlanetScale
The GitHub Blog
The GitHub Blog
C
Check Point Blog
小众软件
小众软件
I
InfoQ
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Engineering at Meta
Engineering at Meta
酷 壳 – CoolShell
酷 壳 – CoolShell
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
MyScale Blog
MyScale Blog
The Cloudflare Blog
Last Week in AI
Last Week in AI
腾讯CDC
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
B
Blog
T
Tailwind CSS Blog
MongoDB | Blog
MongoDB | Blog
A
About on SuperTechFans
D
Docker
博客园 - 司徒正美
博客园_首页
Recent Announcements
Recent Announcements
D
DataBreaches.Net
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
Stack Overflow Blog
Stack Overflow Blog
aimingoo的专栏
aimingoo的专栏
N
Netflix TechBlog - Medium
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
GbyAI
GbyAI
Jina AI
Jina AI
V
V2EX
Vercel News
Vercel News
IT之家
IT之家
WordPress大学
WordPress大学
M
MIT News - Artificial intelligence
NISL@THU
NISL@THU
V
Visual Studio Blog
C
Cybersecurity and Infrastructure Security Agency CISA

方寸之間

修复 Arch Linux 的内核缺失问题 - 方寸之間 安装定制化 Vim - 方寸之間 树莓派配置旁路由过程记录 - 方寸之間 Cloudflare Tunnel 不完全上手指南 - 方寸之間 解除 New Bing 地区和浏览器限制的方法 - 方寸之間 FRP 上手教程 - 方寸之間 深入理解 Linux nohup 命令 - 方寸之間 C++智能指针是什么 - 方寸之間 PGP 工作原理详解 - 方寸之間 如何恢复 Windows EFI 分区 - 方寸之間 Scaleway IPV6 server 申请及使用攻略 - 方寸之間 Arch Linux 升级系统提示签名无效 - 方寸之間 Arch Linux 音响有杂音的解决办法 - 方寸之間 Arch Linux 如何切换内核 - 方寸之間 Django 项目时区更改错误的解决方案 - 方寸之間 超简单的 Arch Linux + Windows 双启动教程 - 方寸之間 使用 UFW 配置 Linux 防火墙 - 方寸之間 Git 中的一个特殊 hash - 方寸之間 深入理解数据库事务 - 方寸之間 CRLF 和 LF 之间的区别与联系 - 方寸之間 DNS 的更新是如何工作的? - 方寸之間 浅析 Linux 的 cron 命令 - 方寸之間 如何快速查看 github 代码库中早期 commits - 方寸之間 黑科技:使用 GitHub 搭建自己的短链接服务 - 方寸之間 Build site with Franklin.jl - 方寸之間 超好用的 UML 工具推荐 - 方寸之間 ArchLinux 安装配置笔记 (Updated) - 方寸之間 如何将 Julia 添加到 Jupyter Notebook - 方寸之間 费曼技巧:最好的学习方式 - 方寸之間 How to Create Linux Desktop Entry - 方寸之間 Make a TODO robot with Github Actions - 方寸之間 C++继承 多态 虚函数 - 方寸之間 C++ inline 关键字详解 - 方寸之間 C++ Static 关键字详解 - 方寸之間 C++ type conversion notes - 方寸之間 Solution for _CRT_SECURE_NO_WARNINGS error - 方寸之間 IR Homework - 方寸之間 Customize Ubuntu themes, icons and Shell - 方寸之間 恢复右键菜单的新建命令 - 方寸之間 Hugo+Github 搭建个人博客 - 方寸之間
iwd 的使用教程 - 方寸之間
Mercas · 2020-10-05 · via 方寸之間

介绍#

iNet Wireless Daemon(iwd) 项目旨在为基于 Linux 的设备提供全面的 Wi-Fi 连接解决方案,由 Intel 团队进行维护开发。该项目的核心目标是通过不依赖于任何外部库,并最大限度地利用 Linux 内核提供的功能来优化资源利用率:存储、运行时内存和链路时间成本。是一个仅依赖于 Linux 内核和运行时 C 库的自包含环境(self-contained environment)。 项目架构 iwd 的基本架构如下图所示:

iwd 需要使用 ell(Embedded Learning Library)这个库来进行编译守护进程和控制实用程序的开发版本。 iwd 将 Linux 内核的 crypto 子系统用于所有加密操作,不使用OpenSSL或任何其他用户空间加密库。

image

安装#

直接使用各个发行版自带的包管理器下载即可,这里以 arch 系的pacman为例:

安装完软件包之后,直接使用systemctl enable iwd.service命令启动 iwd 服务。

基本使用方法#

启动iwctl 键入以下命令进入交互式命令行:

注意:这里的[iwd]#是交互式命令行的提示符。

连接到网络#

首先,如果你不知道无线设备名称,使用下面的命令列出所有 Wi-Fi 设备:

然后,要扫描网络:

[iwd]# station device scan

然后,您可以列出所有可用的网络:

[iwd]# station device get-networks

最后,要连接到网络:

[iwd]# station device connect SSID

如果你想要手动断开网络链接,使用以下命令:

[iwd]# station device disconnect

要列出以前已连接到的网络:

[iwd]# known-networks list

要忘记已知网络:

[iwd]# known-networks SSID forget

要显示 WiFi 设备的详细信息(如 MAC 地址):

[iwd]# device device show

要显示连接状态,包括 Wi-Fi 设备的连接网络:

[iwd]# station device show

如果你想进行其他操作,可以在交互式命令行中输入help获取帮助信息。

进阶使用#

使用内置的网络配置#

iwd 内置DHCP 客户端以及静态配置 IP 地址的功能,所以你可以不用使用独立的 dhcpd 软件包来管理网络。 如果使用 iwd 的网络配置功能,需要编辑/etc/iwd/main.conf并添加以下部分(如果不存在就手动创建):

[General]

EnableNetworkConfiguration=true

MAC 地址随机化#

01. 基本方法

IWD 在版本初期已经支持将 MAC 地址随机化了,不过刚开始在 IWD 的整个生命周期内仅对地址随机化了一次。在 1.6 版本中,添加了基于每个网络的随机地址的功能。这个功能可以在 IWD 的主配置文件(默认为/etc/iwd/main.conf)中启用此功能:

[General]

AddressRandomization=network

p.s.如果设置AddressRandomization=once__,MAC 地址只在 iwd 启动或硬件启动时第一次被检测到时随机化一次;如果设置 AddressRandomization=disabled,显而易见,就是不隐藏 MAC 地址,使用真实地 MAC 地址。

其实这个时候的 MAC 地址并不是真正意义上的随机,而是伪随机,因为这个 MAC 地址是使用 SHA256 摘要从永久适配器地址和所连接的 SSID 生成的—这也就意味着,如果使用同一个网络所随机化生成的 MAC 地址是一样的。通常来说,对于普通用户来说已经足够了。

02. 高级方法

如果你想使用 IWD 来完全随机化你的 MAC 地址,那么可以使用AlwaysRandomizeAddress选项来生成。

AlwaysRandomizeAddress=true

03. 设定随机化范围

iwd 配置中还有一个AddressRandomizationRange选项,用来控制地址的哪一部分是随机化的,那一部分是真实的。

当你把“AddressRandomizationRange”设置为“nic”时,仅 NIC 特定的字节(最后3 个字节)是随机的。有一点要注意,随机范围限制为 00:00<01> 至 00:00:FE。物理网卡的 mac 地址用于前 3 个字节。

当使用“AddressRandomizationRange”设置为“full”时,MAC 地址的 6 个字节都是随机