我有一个已注册到 WiFi 网络上的 WiFi 模块。该区域内还有其他几个 WiFi 网络。但是,计算机不知道可以连接到哪个 WiFi 网络。
因此,计算机必须尝试查看可以使用哪个 WiFi 访问互联网。如果它无法使用一个 WiFi 上网(例如访问 cnn.com),则应尝试下一个。
有没有办法使用 debian 或类似 WiCD 的程序自动执行此操作?
答案1
您可以在 BASH 中执行此操作。只需每分钟检查一次您的连接或 ping 响应(如果响应太高)。扫描网络并切换。
对于扫描,您可以使用:
$ iwlist wlan0 scan
为了连接,您可以使用
#!/bin/bash
killall -9 dhclient
ifconfig wlan0 down
ifconfig wlan0 up
iwconfig wlan0 channel CHAN
iwconfig wlan0 essid ESSID
ifconfig wlan0 up
dhclient wlan0
您可以使用 grep/awk/cut 轻松地将扫描脚本绑定(组合)到连接脚本,这些都是非常有用的工具。
如果您正在使用 Ubuntu(Spying!!!)通过以下方式关闭网络管理器服务:
临时解决方案直到重新启动
$ /etc/init.d/network-manager 停止
永久解决方案直到 chmod +x(当您想要网络管理器返回时)
$ chmod -x /etc/init.d/network-manager
在 Fedora 上(您现在是安全的!)该服务称为 NetworkManager:
temp sol:
$ service NetworkManager stop
perm sol:
$ service NetworkManager disable