如何扫描无线接入点?


15

在Ubuntu 11.04中,我使用InSSIDer扫描可用的AP并按信号强度对其进行排序。

不幸的是,该程序似乎在Ubuntu 11.10中已损坏,并且

iwlist wlan0 scan

不会返回任何有意义的信息。

我可能需要使用GUI来扫描可用无线访问点的哪些选项?


1
Ubuntu版本?硬件?环境?“任何有意义的事情”?我是否必须安装11.04和InSSIDer才能找到所需的行为?“似乎要被打破”的真正含义是什么?请通过在您的问题中提供信息来帮助我们为您提供帮助。“选项”?尝试使用网络管理器。您应该在第一行找到其图标。
waltinator 2011年

如果您仔细阅读它,一切都已经存在。我使用的是ubuntu 11.10,insider无法启动。我使用Intel wifi。我想列出所有可用的网络,按强度排序。
Mascarpone

2
sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID'应该有所帮助。
waltinator 2011年

Answers:


19

sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID' 应该有所帮助。

它是sudo(以root身份运行,执行特权操作),iwlist wlan0 scanning(在STDOUT上产生一些输出),管道符号“ |”的组合 (将命令的STDOUT左侧连接到右侧进程的STDIN),以及egrep带有“单引号” 的命令(以防止shell解释“ |”字符)正则表达式以过滤STDIN 。见man bashman sudoman iwlistman egrep,并man re_format了解详细信息。

在执行其他人的命令字符串之前,请务必进行任何操作(如上所述)。自我教育比盲目信任要安全得多。


2
您能说明一下该命令吗?
NN

2
您能否将解释添加到您的问题中,以便其他人可以更轻松地从中受益。我要求解释的原因是为了使您的回答尽可能完整。
NN

您可能会想要添加,这很容易使用进行手册页搜索/。许多新的Linux用户都害怕手册页的大小以及无法快速找到正确信息的能力。
user93692

此命令不需要解释。问题不在于管道或联机帮助页。必须具备一些先决条件知识,否则,此站点上的大多数答案都必须从打开终端的说明开始。
基思

7

使用 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

每个命令说明:

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: //":将egrep的输出减少为:

-77.00 dBm的 
nameOfAccessPoint1
-71.00 dBm的
nameOfAccessPoint2

awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}':将信号强度和SSID放在同一条线上。更具体地说,当行号(NR)是偶数时,即我们在显示访问点的行上,则输出记录分隔符(ORS)应该是换行符。否则,我们将处于包含信号强度的直线上,因此我们通过创建ORS一个简单的空格来加入该直线。

如果是sort此输出,则最终得到信号强度和接入点的列表,在顶部显示信号最强的接入点:

-71.00 dBm nameOfAccessPoint2
-77.00 dBm nameOfAccessPoint1

当心:某些接入点可以具有扩展功能:扩展功能:* SSID列表

因此,grepping“ SSID:”而不是“ SSID”有助于避免过多的输出,否则将导致命令失败。


1
管道grepsedawk,你不喜欢的Linux!非常好的综合答案。我知道我不应该写一个补充评论,但这确实值得一提,您甚至还提供了中间输出。
user93692

5
nm-tool | grep "Freq.*Strength" | sed -ne "s|\(.*Strength \([0-9]\+\).*\)|\2}\1|p" | sort -n -r
  1. 使用的输出nm-tool获取无线访问点列表
  2. 过滤以仅获取访问点
  3. 用于sed在每行前面添加信号电平
  4. 以相反的顺序将输出按数字排序(从大到大)

nm-tool 是“网络管理器”软件包的一部分,该软件包显然安装在典型的Ubuntu系统中。


谢谢!该命令有助于提供范围内所有AP的简洁完整的摘要。iwlist命令似乎根据当前的wifi活动在运行之间动态变化。当太多wifi AP一次报告时,它似乎也失败了。
2015年

1

您还可以使用nmcli,我几个月前就发现了它,这是迄今为止我使用过的最简单的方法。

nmcli device wifi

有关其他信息,请查看手册页。


-2
iwinfo wlan0 scan

wlan0是您的无线接口

结果如下表所示。

Cell 06 - Address: F0:B4:29:50:76:0C
          ESSID: "Xiaomi_760B"
          Mode: Master  Channel: 1
          Signal: -38 dBm  Quality: 70/70
          Encryption: mixed WPA/WPA2 PSK (TKIP, CCMP) 
....

该命令将返回加密信息

系统:openwrt 15.05

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.