#!/bin/sh export ESSIDS_FILE=/tmp/essid.tmp export INTERFACE=wlan0 export KNOWN_ESSIDS='2WIRE206-A1D2351733 casita-s:turbo' export ON_STATIC_IP=192.168.1.85 export ON_STATIC_GW=192.168.1.254 sudo /sbin/iwlist wlan0 scanning | grep ESSID > $ESSIDS_FILE #cessid='' #cpassw='' verificarIp(){ result=`sudo /sbin/ifconfig $INTERFACE | grep "inet addr:" | awk '{print $2}'` address=${result:5} return $address } imprimirMensajeVerIp(){ echo "Su interfaz $1 se le asigno la IP: $2" } configurarInterfaz(){ sudo /sbin/iwconfig $INTERFACE essid $1 key $2 sudo /sbin/dhclient $INTERFACE verificarIp address=$? if [ -n $address ] then imprimirMensajeVerIp $INTERFACE $address else ifconfig $INTERFACE $ON_STATIC_IP route add default gw $ON_STATIC_GW verificarIp newAdd=$? if [ -n $newAdd ] then imprimirMensajeVerIp $INTERFACE $newAdd else echo "Ya no se que hacer en esta situacion, contacte a su administrador de red!!!" fi fi } removerArchivoEssids(){ sudo rm $ESSIDS_FILE } cat ${ESSIDS_FILE} |while read line; do newLine=${line#ESSID:\"} newLength=`expr length $newLine` newLength=`expr $newLength - 1` cessid=${newLine:0:newLength} echo $cessid for i in $KNOWN_ESSIDS do cpos=`expr index "$i" -` essid=${i:0:`expr $cpos - 1`} pass=${i:cpos} #echo $essid $pass if [ $cessid = $essid ] then echo "Se encontro la red $cessid" configurarInterfaz $cessid $pass fi done done removerArchivoEssids