Jak skanować w poszukiwaniu punktów dostępu bezprzewodowego?

15

W Ubuntu 11.04 używałem InSSIDer do skanowania dostępnych AP i sortowania ich według siły sygnału.

Niestety program wydaje się być zepsuty w Ubuntu 11.10 i

iwlist wlan0 scan

nie zwraca niczego znaczącego.

Jakie opcje muszę skanować w poszukiwaniu dostępnego bezprzewodowego punktu dostępowego, ewentualnie z graficznym interfejsem użytkownika?

Mascarpone
źródło
1
Wersja Ubuntu? Sprzęt komputerowy? Środowisko? „coś sensownego”? Czy powinienem zainstalować 11.04 i InSSIDer, aby dowiedzieć się, jakiego zachowania szukasz? Co tak naprawdę znaczy „wydaje się być zepsuty”? Pomóż nam pomóc, umieszczając informacje w pytaniach. „Opcje”? Spróbuj Network Manager. Powinieneś znaleźć jego ikonę w górnym rzędzie.
waltinator,
Jeśli przeczytasz go uważniej, wszystko już tam jest. Używam Ubuntu 11.10, a insider nie uruchamia się wcale. Używam intel wifi. Chcę wymienić wszystkie dostępne sieci posortowane według siły.
Mascarpone,
2
sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID'powinno pomóc.
waltinator,

Odpowiedzi:

19

sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID' powinno pomóc.

Jest to kombinacja sudo(uruchom jako root, wykonaj uprzywilejowane operacje), iwlist wlan0 scanning(wygeneruj dane wyjściowe w STDOUT), symbol potoku „|” (łączenie STDOUT polecenia (poleceń) po lewej stronie ze STDIN procesu po prawej stronie) oraz egreppolecenia z „pojedynczym cudzysłowem” (aby zapobiec interpretacji przez powłokę znaków „|”) Wyrażenie regularne do filtrowania STDIN . Zobacz man bash, man sudo, man iwlist, man egrep, i man re_formatszczegóły.

ZAWSZE rób man cokolwiek (jak wyżej) PRZED wykonaniem komendy od kogoś innego. Samokształcenie jest znacznie bezpieczniejsze niż ślepe zaufanie.

waltinator
źródło
2
Czy możesz podać wyjaśnienie tego polecenia?
NN
2
Czy możesz zamiast tego podać wyjaśnienie w swoim pytaniu, aby inni mogli go łatwiej znaleźć i z niego skorzystać. Powód, dla którego poprosiłem o wyjaśnienie, ma na celu możliwie jak najpełniejsze udzielenie odpowiedzi.
NN
Możesz opcjonalnie chcieć dodać, że bardzo łatwo jest wyszukiwać na stronach podręcznika użytkownika za pomocą /. Wielu nowych użytkowników Linuksa obawia się rozmiaru stron podręcznika i niemożności szybkiego znalezienia właściwych informacji.
user93692
To polecenie nie wymaga wyjaśnienia. Pytanie nie dotyczy rur ani stron podręcznika. Należy przyjąć pewną niezbędną wiedzę, w przeciwnym razie większość odpowiedzi na tej stronie będzie musiała zaczynać się od instrukcji otwierania terminalu.
Keith,
7

Za pomocą iw

Nie mam nm-toolzainstalowanego, więc używam iw.

To polecenie sortuje punkty dostępu według siły sygnału, najpierw najsilniejsze:

sudo iw dev wlan0 scan | egrep "signal:|SSID:" | sed -e "s/\tsignal: //" -e "s/\tSSID: //" | awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}' | sort

Każde polecenie wyjaśniło:

iw dev wlan0 scan: Wyszukaj punkty dostępowe dostępne za pośrednictwem interfejsu wlan0

egrep "signal:|SSID:": Uzyskaj linie o sile sygnału i identyfikatorach SSID z iwwyjścia. Dane wyjściowe wyglądają teraz tak:

        sygnał: -77,00 dBm 
        SSID: nameOfAccessPoint1
        sygnał: -71,00 dBm
        SSID: nameOfAccessPoint2

sed -e "s/\tsignal: //" -e "s/\tSSID: //": Zmniejsz egrepwydajność do tego:

-77,00 dBm 
nameOfAccessPoint1
-71,00 dBm
nameOfAccessPoint2

awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}': Ustaw siłę sygnału i identyfikator SSID na tej samej linii. Mówiąc dokładniej, gdy numer linii ( NR) jest parzysty, tj. Znajdujemy się na linii pokazującej punkt dostępu, separatorem rekordów wyjściowych ( ORS) powinien być podział linii. W przeciwnym razie znajdujemy się na linii zawierającej siłę sygnału, więc dołączamy do linii, tworząc ORSprostą spację.

Jeśli otrzymamy sortto wyjście, otrzymamy listę mocy sygnału i punktów dostępu, pokazując punkt dostępu z najsilniejszym sygnałem na górze:

-71.00 dBm nameOfAccessPoint2
-77.00 dBm nameOfAccessPoint1

Uwaga: niektóre punkty dostępu mogą mieć rozszerzone możliwości: Rozszerzone możliwości: * Lista SSID

Zatem grepping „SSID:” zamiast „SSID” pomaga uniknąć tego dodatkowego wyjścia, które w przeciwnym razie spowodowałoby niepowodzenie polecenia.

Matthias Braun
źródło
1
Rurociągów grepdo sedcelu awk, po prostu nie kochają Linux! Bardzo ładna kompleksowa odpowiedź. Wiem, że nie powinienem pisać komentarza, ale to naprawdę zasługuje na jeden, nawet uwzględniłeś wyniki pośrednie.
user93692,
5
nm-tool | grep "Freq.*Strength" | sed -ne "s|\(.*Strength \([0-9]\+\).*\)|\2}\1|p" | sort -n -r
  1. Użyj wyjścia z, nm-toolaby uzyskać listę bezprzewodowych punktów dostępu
  2. Filtruj, aby uzyskać tylko punkty dostępu
  3. Służy seddo dołączania poziomu sygnału przed każdą linią
  4. sortuj dane wyjściowe jako liczby w odwrotnej kolejności (najpierw największe)

nm-tool jest częścią pakietu „Network-Manager”, który jest oczywiście zainstalowany w typowym systemie Ubuntu.

Piotr i wilk
źródło
Dzięki! Polecenie to zapewnia zwięzłe i pełne podsumowanie wszystkich punktów dostępowych w zasięgu. Wydaje się, że polecenie iwlist zmienia się dynamicznie w zależności od bieżącej aktywności Wi-Fi; wydaje się również zawieść, gdy raportuje zbyt wiele punktów dostępowych Wi-Fi naraz.
phord
2

Możesz także użyć nmcli, znalazłem go kilka miesięcy temu i jest to najłatwiejszy z dotychczas używanych.

nmcli device wifi

Aby uzyskać inne informacje, sprawdź stronę podręcznika.

Cory C
źródło
Dzięki. Znacznie szybszy i bardziej stabilny niż iwpolecenie.
Hai Luong Dong
-2
iwinfo wlan0 scan

wlan0 to interfejs bezprzewodowy

wynik jak poniżej lista ...

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) 
....

polecenie zwróci informacje o szyfrowaniu

system: openwrt 15.05

użytkownik714921
źródło