我有一个在笔记本电脑上运行的 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 或重新启动。