非 root 访问 ioctl 进行 WIFI 扫描

问题描述 投票:0回答:1

我正在努力实现 iwlist python 版本。以下是 iwlist 在 Linux 操作系统上如何工作的描述 iwlist() 命令如何扫描无线网络? 它的作用是扫描附近的所有 wifi 接入点,显示其 ESSID、MAC 地址、信号/噪声级别的列表等等

iwlist 使用 ioctl SIOCSIWSCAN 来触发扫描。然后它使用 SIOCGIWSCAN 来获取扫描结果。出于安全原因,我必须在没有 root 访问权限的情况下实现此操作。但这两个命令都必须以 root 身份运行。 python 等效的 iwlist 已经实现了 http://pythonwifi.wikispot.org/ 但是它使用相同的 ioctl。

我想知道是否可以在没有 sudo 的情况下解决这个问题。或者,除了 ioctl 之外,是否还有其他方法来实现非 sudo iwlist。

linux kernel wifi root ioctl
1个回答
0
投票

我猜您出于安全原因也不想使用 setuid。您可能想尝试使用“功能”系统,并在二进制文件上“设置”所需的功能。我不知道您到底需要哪种功能,可能是 CAP_NET_* 或 CAP_SYS_* 功能之一。

© www.soinside.com 2019 - 2024. All rights reserved.