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

推荐订阅源

WordPress大学
WordPress大学
Engineering at Meta
Engineering at Meta
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Martin Fowler
Martin Fowler
雷峰网
雷峰网
Recent Announcements
Recent Announcements
博客园 - 叶小钗
F
Full Disclosure
C
Check Point Blog
A
About on SuperTechFans
L
LangChain Blog
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
博客园 - 司徒正美
C
Cybersecurity and Infrastructure Security Agency CISA
C
CXSECURITY Database RSS Feed - CXSecurity.com
Cisco Talos Blog
Cisco Talos Blog
Hugging Face - Blog
Hugging Face - Blog
Recorded Future
Recorded Future
MongoDB | Blog
MongoDB | Blog
Project Zero
Project Zero
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Know Your Adversary
Know Your Adversary
D
Docker
U
Unit 42
酷 壳 – CoolShell
酷 壳 – CoolShell
T
The Exploit Database - CXSecurity.com
L
Lohrmann on Cybersecurity
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Latest news
Latest news
V
Visual Studio Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LINUX DO - 最新话题
Google DeepMind News
Google DeepMind News
小众软件
小众软件
NISL@THU
NISL@THU
GbyAI
GbyAI
H
Heimdal Security Blog
Jina AI
Jina AI
I
InfoQ
PCI Perspectives
PCI Perspectives
P
Privacy International News Feed
P
Proofpoint News Feed
N
News and Events Feed by Topic
C
CERT Recently Published Vulnerability Notes
aimingoo的专栏
aimingoo的专栏
SecWiki News
SecWiki News
B
Blog RSS Feed
阮一峰的网络日志
阮一峰的网络日志

方寸之間

修复 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 个字节都是随机