在 Ubuntu 11.04 中,我使用 InSSIDer 扫描可用的 AP 并按信号强度对它们进行排序。
不幸的是,该程序在 Ubuntu 11.10 中似乎已损坏,并且
iwlist wlan0 scan
Run Code Online (Sandbox Code Playgroud)
不会返回任何有意义的东西。
我有哪些选项可以扫描可用的无线接入点,可能使用 GUI?
wal*_*tor 25
sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID' 应该有帮助。
它是sudo(以 root 身份运行,执行特权操作)、iwlist wlan0 scanning(在 STDOUT 上产生一些输出)、管道符号“|”的组合 (将左侧的命令的 STDOUT 连接到右侧进程的 STDIN),以及egrep带有“单引号”的命令(以防止 shell 解释“|”字符)正则表达式来过滤 STDIN . 有关详细信息,请参阅man bash、man sudo、man iwlist、man egrep和man re_format。
在执行其他人的命令字符串之前,请始终执行任何操作(如上所述)。自我教育比盲目信任要安全得多。
Mat*_*aun 18
iw我没有nm-tool安装,所以我使用iw.
此命令按信号强度对接入点进行排序,最强的在前:
sudo iw dev wlan0 scan | egrep "signal:|SSID:" | sed -e "s/\tsignal: //" -e "s/\tSSID: //" | awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}' | sort
Run Code Online (Sandbox Code Playgroud)
iw dev wlan0 scan:扫描可通过接口访问的接入点 wlan0
egrep "signal:|SSID:":从iw的输出中获取具有信号强度的线路和 SSID 。输出现在看起来像这样:
信号:-77.00 dBm
SSID:nameOfAccessPoint1
信号:-71.00 dBm
SSID:nameOfAccessPoint2
sed -e "s/\tsignal: //" -e "s/\tSSID: //": Reduceegrep的输出为:
-77.00 dBm 名称访问点 1 -71.00 dBm 名称访问点2
awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}':将信号强度和 SSID 放在同一条线上。更具体地说,当行号 ( NR) 是偶数时,即我们在显示访问点的行上,输出记录分隔符 ( ORS) 应该是换行符。否则,我们在包含信号强度的行上,因此我们通过创建ORS一个简单的空间来加入该行。
如果我们有sort这个输出,我们最终会得到一个信号强度和接入点的列表,在顶部显示信号最强的接入点:
-71.00 dBm nameOfAccessPoint2
-77.00 dBm nameOfAccessPoint1
Run Code Online (Sandbox Code Playgroud)
注意:某些接入点可以具有扩展功能:扩展功能:* SSID 列表
因此,grepping "SSID:" 而不是 "SSID" 有助于避免这种额外的输出,否则会使命令失败。
小智 6
您还可以使用nmcli,几个月前我自己发现了它,这是迄今为止我使用过的最简单的一个。
\nnmcli device wifi\nRun Code Online (Sandbox Code Playgroud)\n输出示例:
\nIN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY \n 18:7B:CB:42:EF:8E FRITZ!Box 7530 MS Infra 11 260 Mbit/s 100 \xe2\x96\x82\xe2\x96\x84\xe2\x96\x86\xe2\x96\x88 WPA2 \n* D1:12:C8:87:D7:F1 FRITZ!Box 7530 MS Infra 6 130 Mbit/s 75 \xe2\x96\x82\xe2\x96\x84\xe2\x96\x86_ WPA2 \n DD:72:2D:64:04:C9 example network Infra 11 130 Mbit/s 65 \xe2\x96\x82\xe2\x96\x84\xe2\x96\x86_ WPA1 WPA2 \n 2C:A1:F2:9E:97:2E FRITZ!Box 7530 MS Infra 11 130 Mbit/s 57 \xe2\x96\x82\xe2\x96\x84\xe2\x96\x86_ WPA2 \n 11:22:F5:89:71:9C some_other_network Infra 6 130 Mbit/s 55 \xe2\x96\x82\xe2\x96\x84__ WPA2 \nRun Code Online (Sandbox Code Playgroud)\n
nm-tool | grep "Freq.*Strength" | sed -ne "s|\(.*Strength \([0-9]\+\).*\)|\2}\1|p" | sort -n -r
Run Code Online (Sandbox Code Playgroud)
nm-tool获取无线接入点列表sed在每行前面附加信号电平nm-tool 是“network-manager”软件包的一部分,它显然安装在典型的 Ubuntu 系统中。
| 归档时间: |
|
| 查看次数: |
134696 次 |
| 最近记录: |