如何使用 nmcli 连接到隐藏的 wifi 网络

Posted

技术标签:

【中文标题】如何使用 nmcli 连接到隐藏的 wifi 网络【英文标题】:How to connect to hidden wifi network using nmcli 【发布时间】:2016-05-30 07:43:11 【问题描述】:

我必须编写一个连接到隐藏 wifi 网络的 linux 桌面软件。 如果网络不是隐藏的,我的代码可以通过调用nmcli来连接,但是如果是隐藏的,则无法添加连接。但是,我可以使用网络管理器的 GUI 创建一个新网络,所以我认为这不是不可能的。你有什么想法吗?

【问题讨论】:

【参考方案1】:

好的,我有办法。我们知道 ssid 和密码。

nmcli c add type wifi con-name <connect name> ifname wlan0 ssid <ssid>
nmcli con modify <connect name> wifi-sec.key-mgmt wpa-psk
nmcli con modify <connect name> wifi-sec.psk <password>
nmcli con up <connect name>

如果我们不再需要连接:

nmcli c delete <connect name>

【讨论】:

只是为了清楚。删除时,id NAMEuuid UUID,其中NAME 和UUID 可以通过nmcli -p c 获得。例如。 nmcli c delete id esp8266_ap。这是指 nmcli 工具,版本 0.9.8.8。【参考方案2】:

这对我来说很好用:

nmcli dev wifi connect "abc" password 123 hidden yes

【讨论】:

这对我不起作用™ 我收到一条错误消息:“网络管理器无法扫描隐藏的 SSID:已扫描时不允许扫描。”然而,选定的答案对我有用。 您只需等待几秒钟即可完成扫描。【参考方案3】:

在进行一些实验时,我发现您可以同时使用 echnotux 和 Pocokman 的答案来连接它。即

nmcli c add type wifi con-name <connect name> ifname wlan0 ssid <ssid>
nmcli dev wifi connect <ssid> password <password> hidden yes
nmcli c delete <connect name>

这大大简化了它。

【讨论】:

以上是关于如何使用 nmcli 连接到隐藏的 wifi 网络的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中检查网络是不是连接到wifi [重复]

设备在Android中连接到WiFi时如何获取蜂窝网络的IP地址

如何通过cmd连接到未知的安全wifi网络[关闭]

如何在 QT 或 windows API 中连接到无线 WIFI 网络? [关闭]

如何以编程方式扫描、查找和连接到开放的 wifi AP?

C# 使用托管 Wifi API 连接到 Wifi 网络