В Ubuntu 11.04 я использовал InSSIDer для сканирования доступных точек доступа и сортировки их по уровню сигнала.
К сожалению, программа, похоже, не работает в Ubuntu 11.10, и
iwlist wlan0 scan
не возвращает ничего значимого.
Какие есть варианты сканирования доступной точки беспроводного доступа, возможно, с графическим интерфейсом?
sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID'
должно помочь.
Это комбинация sudo
(запуск от имени пользователя root, выполнение привилегированных операций), iwlist wlan0 scanning
(создание вывода в STDOUT), символа канала "|" (подключение STDOUT команды (й) слева к STDIN процесса справа) и команда egrep
с «одинарными кавычками» (чтобы оболочка не могла интерпретировать символы «|») Регулярное выражение фильтровать STDIN. Подробности см. В man bash
, man sudo
, man iwlist
, man egrep
и man re_format
.
ВСЕГДА делайте с человеком все что угодно (как указано выше) ПРЕЖДЕ ЧЕМ вы выполняете командную строку от кого-то другого. Самообразование намного безопаснее, чем слепое доверие.
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:"
: Получите строки с мощностью сигнала и SSIDs от iw
вывод. Вывод похож на это теперь:
signal: -77.00 dBm SSID: nameOfAccessPoint1 signal: -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
Так, захват "SSID": вместо "SSID" помогает предотвращению этого дополнительного ouput, который сделал бы сбой команды иначе.
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)
....
команда вернет информацию о шифровании
system: openwrt 15.05
nm-tool | grep "Freq.*Strength" | sed -ne "s|\(.*Strength \([0-9]\+\).*\)|\2}\1|p" | sort -n -r
nm-tool
для получения списка точек беспроводного доступа sed
для добавления уровня сигнала перед каждой строки nm-tool
является частью пакета «network-manager», который, очевидно, установлен в типичной системе Ubuntu .
Можно также использовать nmcli, я нашел его сам несколькими месяцами назад, и это - самое легкое, которое я использовал до сих пор.
nmcli device wifi
Для другой информации проверьте страницу справочника.
Если вы можете установить программное обеспечение на свой компьютер, я бы порекомендовал wavemon.
Чтобы установить его, выполните:
sudo apt-get update
sudo apt-get install wavemon
Чтобы запустить его
sudo wavemon
, а затем нажмите F3 для перехода к экрану SCAN. Вы должны увидеть что-то похожее на это: