Aks*_*tal 3 linux router wireless-networking wireless-router
在我所在的地区,有一个由大约 50 个具有相同 SSID 的路由器组成的大型网络。我的设备自动连接到最近且最强的网络。
如何手动连接到范围内的其中一个?
例子:
| 路由器|| 网络 SSID || 实力| -------------------------------------- | 一个|| 随机名称 || 85% | | 两个|| 随机名称 || 75% | | 三|| 随机名称 || 65% | | 四|| 随机名称 || 60% | --------------------------------------
我的设备会自动连接,Router One因为它具有最大强度。我如何连接到Router Two或Router Three(或Four)?
我需要一个针对 Linux 的解决方案。
您可以通过手动连接到 AP 来完成此操作。
首先,如果您正在运行网络管理器,最简单的方法是关闭网络管理器:
sudo service network-manager stop
Run Code Online (Sandbox Code Playgroud)
然后您需要识别您想要加入的 AP 的 BSSID:命令
sudo iw dev wlan0 scan
Run Code Online (Sandbox Code Playgroud)
(如果您使用wlan0作为无线接口)将产生大量输出,其中您会发现类似以下内容:
BSS f8:1a:67:aa:7f:b9 (on wlan0) -- associated
TSF: 629432841083 usec (7d, 06:50:32)
freq: 2417
beacon interval: 100
capability: ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime (0x0531)
signal: -70.00 dBm
last seen: 0 ms ago
Information elements from Probe Response frame:
SSID: MySSID_NAME
Run Code Online (Sandbox Code Playgroud)
(输出比这个长)。相关部分当然是BSS f8:1a:67:aa:7f:b9。
接下来,您必须释放接口上所有以前的 IP 地址,以防万一:
sudo ip link set wlan0 down
sudo ip addr flush dev wlan0
sudo ip link set wlan0 up
Run Code Online (Sandbox Code Playgroud)
现在您指定要连接到特定的 AP:
sudo iwconfig wlan0 essid MySSID_NAME ap f8:1a:67:aa:7f:b9
Run Code Online (Sandbox Code Playgroud)
当然,ap位于您刚刚确定的BSSID之前。
现在您需要启动wpa_supplicant,
sudo wpa_supplicant -Dnl80211 -i wlan0 -B -c FILE_with_WPA_Secrets
Run Code Online (Sandbox Code Playgroud)
(如果您不知道如何使用 WPA 凭据设置文件,例如,您可以在此处查找;只是要小心,其中显示network= {,它应该是network={且不带空格)。最后,
sudo dhclient -v wlan0
Run Code Online (Sandbox Code Playgroud)
(-v标志不适用于所有 Linux 发行版,我喜欢它,因为我可以监视正在发生的情况)。
编辑
上述说明适用于具有 WPA 安全性的网络。为了确保 WEP 安全,请将 wpa_supplicant 命令替换为:
sudo iwconfig wlan0 key s:Your_WEP_password
Run Code Online (Sandbox Code Playgroud)
请记住,密码前的两个字符s:是必需的。在此之后,再一次
sudo dhclient -v wlan0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6023 次 |
| 最近记录: |