sábado, 16 de marzo de 2013

Script bash para conectarse a wifi por terminal

Como hace poco reinstale gentoo me recordó lo mucho que he batallado para conectarme a wifi en un sistema operativo sin interfaz gráfica o no solo la interfaz si no que sin ningún daemon que haga esto simple como wicd,networkmaganager,etc,esto me recuerda mi epoca de Debianita y de Archero porque tenia algunos problemas con mi tarjeta de wireless y después no sabia que era lo que hacia mal,porque no me conectaba :(

Ya que, verán,para conectarse a una red wifi por consola se usa este comando:

iwconfig interfaz_de_red essid nombre_de_red

En Linux,en BSD es :


ifconfig wlan0 inet "tu-inet" netmask 255.255.255.0 ssid "Tu-SSID" channel "Canal" # Creo que este también funciona para Linux
Pero primero necesitamos escanear los puntos de acceso,para eso usamos el comando:

iwlist scan

Pero nos tira muchos datos,podemos verlo paso a paso con:

iwlist scan | more

Pero eso ya es para buscar otro tipo de información,normalmente obtenemos el esssid de las redes cercanas con:

iwlist scan | grep ESSID
 Y luego ya usamos el comando mencionado arriba,pero en este punto yo siento que aveces me equivoco y no tecleo bien el nombre de la red,bueno si es mi red con mi nombre no hay problema,pero si quiero crackear conectarme a una red abierta de un parque,etc :O.

Bueno,ya con el essid asociado solo nos asignamos una ip,por dhclient,dhcpcd,ifconfig,etc,pero bueno mejor programe un script que hace casi,todo el trabajo,digo casi,porque necesitamos tener funcionando correctamente nuestra interfaz de red lan (wlanX,ethX,etc) y si no es asi no funcionara, también necesitamos tener dhcpcd instalado o dhclient,o cualquier programa que haga este trabajo de asignación (necesitan modificar el script).

Bueno el script:

Busca las redes mas cercanas ha base de pipes unix,las añade a un array y las muestra a selección,pregunta si usamos clave(solo wep) y nos asocia a la red y nos asigna una ip:

Enlace
Nota: Si tienen un daemon que haga esto les puede dar errores,graves.

Solo deben ejecutar como root

sudo bash script.sh

Y listo :D

Lo modifican a sus necesidades, no tengo pantallasos porque ya tengo networkmanager en mis sistemas y cuando lo programe no tenia como sacar screenshots (a menos con el iPhone pero es peligroso) lo programe en tty.

Eso es todo

2 comentarios:

  1. Un script muy útil. Está bien poder hacer esto también desde la terminal. Así es más fácil conectarnos a redes inalámbricas incluso aunque no podamos disponer de un entorno gráfico. :)

    ResponderBorrar
  2. Bien ;)!

    Por su estructura y si nos ponemos a analizarlo es bastante simple, a la vez util ;)!

    Gracias compa!

    ResponderBorrar

Los comentarios serán revisados antes de ser publicados.