如何在不 root 的情况下获取可用无线网络列表

如何在不 root 的情况下获取可用无线网络列表

我想获得所有无线网络的列表。

iwlist wlan0 scan | grep ESSID

这只会显示我当前连接的无线网络。当我以 root 身份运行该命令时,它会显示所有可用的网络。如果我在此之后快速运行不带 sudo 的命令,所有网络都会显示,但过了一会儿,除了我当前连接的网络之外,它们都消失了。

当我不是 root 时,有没有办法获取所有可用网络?

答案1

您可以(或确实?)可能使用wpa_supplicant;使用其ctrl_interface配置密钥,您可以允许非 root 用户(例如具有 group 的用户)通过(即[1]wheel访问wpa_cli/sbin/wpa_cli scan_results

# allow frontend (e.g., wpa_cli) to be used by all users in 'wheel' group
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel

还有一个命令行开关wpa_suppliant

-u     Enabled  DBus  control  interface. If enabled, interface defini‐
       tions may be omitted.

为您提供一个 DBus 接口,从而提供非 root 访问的另一种可能性(我认为 NetworkManager 使用此接口)。

[1] 连接后,这仅显示您所在的无线局域网连接到...我不知道这与 NetworkManager 是否有什么不同。

相关内容