通过 CLI 命令行自动连接到任何开放 WiFi 网络

通过 CLI 命令行自动连接到任何开放 WiFi 网络

我有一个在笔记本电脑上运行的 Linux 服务器。

我希望它能够自动连接到任何开放的 WiFi 网络。 (事先不知道SSID)

它用于在大型房产的小屋中远程部署 ZoneMinder 服务器。如果窃贼真的很聪明,他们可以连接 WiFi 并入侵 ZoneMinder 服务器,但我非常怀疑这一点,而且我的“客户”(也就是我的父母)将 WiFi 设置为“打开”。

答案1

要让您的计算机搜索并连接到任何开放的 Wifi,请修改以下两个文件:

*这是在 Ubuntu 14.04 x64 服务器上测试的

/etc/网络/接口

##Wireless NIC
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface open_wifi inet dhcp

/etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

##Open_Wifi
network={
    ssid=""
    key_mgmt=NONE
    id_str="open_wifi"
}

现在关闭/打开接口并检查状态。

sudo ifconfig wlan0 down && sudo ifconfig wlan0 up && sudo wpa_cli -i wlan0 status

寻找

wpa_state=COMPLETED

测试:

同时使用 ifconfig/ping

如果 ifconfig 显示没有私有 IP 并且 ping 应该失败

dhclient wlan0

再试一次,应该会显示 privateIP,并且 ping 应该会成功。

要通过配置手动连接进行调试,请使用以下命令:

wpa_supplicant -d -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -D wext

-d = 调试/详细 -dd == 超级详细

-D = 驱动程序

wext =“捕获所有驱动程序”

我通过热点对手机进行了测试,这是完美的,因为它会告诉您客户端何时连接。我还关闭了 HotSpot,当它重新打开时它又重新连接了!唯一的缺点是,如果您位于人口稠密的区域,例如我的测试环境,它会连接到打开的“Xfinity-Wifi”,然后我必须重新启动,然后它似乎会与我的热点一起使用,因为它的信号更强。但一旦它位于 XFinity 上,它就不会离开它,除非我在 wpa_supplicant.conf 中指定开放网络 SSID 或重新启动。

相关内容