Come si esegue la scansione per i punti di accesso wireless?


15

In Ubuntu 11.04 ho usato InSSIDer per scansionare gli AP disponibili e ordinarli in base alla potenza del segnale.

Sfortunatamente il programma sembra essere rotto in Ubuntu 11.10 e

iwlist wlan0 scan

non restituisce nulla di significativo.

Quali opzioni devo cercare per un punto di accesso wireless disponibile, possibilmente con una GUI?


1
Rilascio di Ubuntu? Hardware? Ambiente? "qualcosa di significativo"? Dovrei installare 11.04 e InSSIDer per scoprire quale comportamento stai cercando? Cosa significa "sembra essere rotto"? Aiutateci ad aiutarvi includendo informazioni nelle vostre domande. "Opzioni"? Prova Network Manager. Dovresti trovare la sua icona nella riga superiore.
Waltinator,

Se lo leggi più attentamente, tutto è già lì. Uso Ubuntu 11.10 e inssider non si avvia affatto. Uso Intel wifi. Voglio elencare tutte le reti disponibili, ordinate per forza.
Mascarpone,

2
sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID'dovrebbe aiutare.
Waltinator,

Risposte:


19

sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID' dovrebbe aiutare.

È la combinazione di sudo(esegui come root, esegui operazioni privilegiate), iwlist wlan0 scanning(produce un output su STDOUT), il simbolo pipe "|" (che collega STDOUT dei comandi a sinistra a STDIN del processo a destra) e un egrepcomando con un "virgolette singole" (per impedire alla shell di interpretare i caratteri "|") Espressione regolare per filtrare STDIN . See man bash, man sudo, man iwlist, man egrep, e man re_formatper i dettagli.

SEMPRE man qualsiasi cosa (come sopra) PRIMA di eseguire una stringa di comando da qualcun altro. L'autoeducazione è molto più sicura della fiducia cieca.


2
Potresti per favore includere una spiegazione di quel comando?
NN,

2
Potresti includere la spiegazione nella domanda in modo che altri possano trovarla più facilmente e trarne vantaggio. Il motivo per cui ho chiesto una spiegazione è rendere la tua risposta il più completa possibile.
NN,

Potresti, facoltativamente, aggiungere che è molto facile cercare nelle pagine man usando /. Molti nuovi utenti Linux hanno paura delle dimensioni delle pagine man e della loro incapacità di trovare rapidamente le informazioni corrette.
user93692

Questo comando non ha bisogno di spiegazioni. La domanda non riguarda pipe o manpage. Alcune conoscenze preliminari devono essere assunte, altrimenti la maggior parte delle risposte su questo sito dovrà iniziare con le istruzioni per l'apertura di un terminale.
Keith

7

utilizzando iw

Non ho nm-toolinstallato quindi uso iw.

Questo comando ordina i punti di accesso in base alla potenza del segnale, prima il più forte:

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

Ogni comando ha spiegato:

iw dev wlan0 scan: Cerca i punti di accesso raggiungibili tramite l'interfaccia wlan0

egrep "signal:|SSID:": Ottiene le linee con potenza del segnale e gli SSID iwdall'uscita. L'output è simile a questo ora:

        segnale: -77,00 dBm 
        SSID: nameOfAccessPoint1
        segnale: -71,00 dBm
        SSID: nameOfAccessPoint2

sed -e "s/\tsignal: //" -e "s/\tSSID: //": Riduce egrepl'output a questo:

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

awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}': Porta la potenza del segnale e l'SSID sulla stessa linea. Più specificamente, quando il numero di riga ( NR) è pari, ovvero, ci troviamo su una riga che mostra un punto di accesso, il separatore del record di output ( ORS) dovrebbe essere un'interruzione di riga. Altrimenti, siamo sulla linea che contiene la potenza del segnale, quindi ci uniamo alla linea creando ORSuno spazio semplice.

Se abbiamo sortquesto output, finiremo con un elenco di intensità del segnale e punti di accesso, che mostra il punto di accesso con il segnale più forte in alto:

-71.00 dBm nameOfAccessPoint2
-77.00 dBm nameOfAccessPoint1

Attenzione: alcuni punti di accesso possono avere una capacità estesa: Funzionalità estese: * Elenco SSID

Quindi, grepping "SSID:" invece di "SSID" aiuta a evitare questo ulteriore output che altrimenti fallirebbe il comando.


1
Piping grepto sedto awk, non ti piace solo Linux! Risposta globale molto bella. So che non dovrei scrivere un commento gratuito ma questo merita davvero uno, hai anche incluso un output intermedio.
user93692

5
nm-tool | grep "Freq.*Strength" | sed -ne "s|\(.*Strength \([0-9]\+\).*\)|\2}\1|p" | sort -n -r
  1. Utilizzare l'output di nm-toolper ottenere un elenco di punti di accesso wireless
  2. Filtro per ottenere solo punti di accesso
  3. Utilizzare sedper aggiungere il livello del segnale davanti a ciascuna linea
  4. ordina l'output come numeri in ordine inverso (prima il più grande)

nm-tool fa parte del pacchetto "network-manager" che è ovviamente installato in un tipico sistema Ubuntu.


Grazie! Questo comando fornisce un riepilogo conciso e completo di tutti gli AP nel raggio di azione. Il comando iwlist sembra cambiare dinamicamente da una corsa all'altra in base all'attività wifi corrente; sembra anche fallire quando troppi AP wifi segnalano contemporaneamente.
phord,

1

Puoi anche usare nmcli, l'ho trovato io stesso qualche mese fa ed è il più semplice che abbia usato finora.

nmcli device wifi

Per informazioni diverse, consultare la pagina man.


-2
iwinfo wlan0 scan

wlan0 è la tua interfaccia wireless

il risultato come sotto l'elenco ...

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

il comando restituirà informazioni di crittografia

sistema: openwrt 15.05

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.