¿Cómo escaneo en busca de puntos de acceso inalámbrico?

15

En Ubuntu 11.04 utilicé InSSIDer para escanear los AP disponibles y ordenarlos por intensidad de señal.

Desafortunadamente, el programa parece estar roto en Ubuntu 11.10, y

iwlist wlan0 scan

no devuelve nada significativo.

¿Qué opciones tengo para buscar el punto de acceso inalámbrico disponible, posiblemente con una GUI?

Mascarpone
fuente
1
¿Lanzamiento de Ubuntu? ¿Hardware? ¿Ambiente? "algo significativo"? ¿Debo instalar 11.04 e InSSIDer para saber qué comportamiento está buscando? ¿Qué significa realmente "parece estar roto"? Ayúdenos a ayudarlo mediante la inclusión de información en sus preguntas. "Opciones"? Prueba Network Manager. Debería encontrar su icono en la fila superior.
waltinator
Si lo lees con más cuidado, todo ya está allí. Yo uso ubuntu 11.10, y inssider no se inicia en absoluto. Yo uso wifi intel. Quiero enumerar todas las redes disponibles, ordenadas por fuerza.
Mascarpone
2
sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID'debería ayudar.
waltinator el

Respuestas:

19

sudo iwlist wlan0 scanning | egrep 'Cell |Encryption|Quality|Last beacon|ESSID' debería ayudar.

Es la combinación de sudo(ejecutar como root, hacer operaciones privilegiadas), iwlist wlan0 scanning(producir algún resultado en STDOUT), el símbolo de tubería "|" (conectando STDOUT del comando (s) a la izquierda al STDIN del proceso a la derecha), y un egrepcomando con una "comilla simple" (para evitar que el shell interprete los caracteres "|") Expresión regular para filtrar STDIN . Véase man bash, man sudo, man iwlist, man egrep, y man re_formatpara más detalles.

SIEMPRE haga lo que sea (como arriba) ANTES de ejecutar una cadena de comando de otra persona La autoeducación es mucho más segura que la confianza ciega.

Waltinator
fuente
2
¿Podría por favor incluir una explicación de ese comando?
NN
2
¿Podría por favor incluir la explicación en su pregunta para que otros puedan encontrarla más fácilmente y beneficiarse de ella? La razón por la que pedí una explicación es hacer que su respuesta sea lo más completa posible.
NN
Opcionalmente, es posible que desee agregar que es muy fácil buscar en las páginas man usando /. Muchos nuevos usuarios de Linux tienen miedo del tamaño de las páginas de manual y su incapacidad para encontrar la información correcta rápidamente.
user93692
Este comando no necesita explicación. La pregunta no se trata de tuberías o páginas de manual. Se debe asumir cierto conocimiento previo, de lo contrario, la mayoría de las respuestas en este sitio tendrán que comenzar con instrucciones para abrir una terminal.
Keith
7

Utilizando iw

No tengo nm-toolinstalado, así que lo uso iw.

Este comando ordena los puntos de acceso según la intensidad de la señal, la más fuerte primero:

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

Cada comando explicaba:

iw dev wlan0 scan: Escanee los puntos de acceso accesibles a través de la interfaz wlan0

egrep "signal:|SSID:": Obtenga las líneas con intensidad de señal y los SSID de iwla salida de. La salida se ve así ahora:

        señal: -77.00 dBm 
        SSID: nameOfAccessPoint1
        señal: -71.00 dBm
        SSID: nameOfAccessPoint2

sed -e "s/\tsignal: //" -e "s/\tSSID: //": Reduzca egrepla producción a esto:

-77.00 dBm 
nameOfAccessPoint1
-71.00 dBm
nameOfAccessPoint2

awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}': Traiga la intensidad de la señal y el SSID en la misma línea. Más específicamente, cuando el número de línea ( NR) es par, es decir, estamos en una línea que muestra un punto de acceso, el separador de registro de salida ( ORS) debería ser un salto de línea. De lo contrario, estamos en la línea que contiene la intensidad de la señal, por lo que nos unimos a la línea haciendo ORSun espacio simple.

Si tenemos sortesta salida, terminamos con una lista de intensidades de señal y puntos de acceso, mostrando el punto de acceso con la señal más fuerte en la parte superior:

-71.00 dBm nameOfAccessPoint2
-77.00 dBm nameOfAccessPoint1

Cuidado: algunos puntos de acceso pueden tener una capacidad extendida: Capacidades extendidas: * Lista SSID

Por lo tanto, agrupar "SSID:" en lugar de "SSID" ayuda a evitar esta salida adicional que haría que el comando fallara de lo contrario.

Matthias Braun
fuente
1
Tubería grepde sedque awk, no sólo el amor de Linux! Muy buena respuesta integral. Sé que se supone que no debo escribir un comentario complementario, pero esto realmente merece uno, incluso incluiste una salida intermedia.
user93692
5
nm-tool | grep "Freq.*Strength" | sed -ne "s|\(.*Strength \([0-9]\+\).*\)|\2}\1|p" | sort -n -r
  1. Utilice la salida de nm-toolpara obtener una lista de puntos de acceso inalámbrico
  2. Filtre para obtener solo puntos de acceso
  3. Use sedpara agregar el nivel de señal al frente de cada línea
  4. ordenar la salida como números en orden inverso (el más grande primero)

nm-tool es parte del paquete "network-manager" que obviamente está instalado en un sistema Ubuntu típico.

Peter y el lobo
fuente
¡Gracias! Este comando proporciona un resumen conciso y completo de todos los AP en el rango. El comando iwlist parece cambiar dinámicamente de ejecución en ejecución según la actividad wifi actual; también parece fallar cuando se informan demasiados puntos de acceso wifi a la vez.
phord
1

También puedes usar nmcli, lo encontré hace unos meses y es el más fácil que he usado hasta ahora.

nmcli device wifi

Para obtener información diferente, consulte la página de manual.

Cory C
fuente
-2
iwinfo wlan0 scan

wlan0 es tu interfaz inalámbrica

el resultado como la lista de abajo ...

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

el comando devolverá información de cifrado

sistema: openwrt 15.05

usuario714921
fuente