All pastes #896368 Raw Edit

Someone

public text v1 · immutable
·published 2008-02-08 16:21 UTC
rendered paste body
#!/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