Advertisement
hackloper775

wifind bash

Jun 1st, 2013
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.20 KB | None | 0 0
  1. #!bin/bash
  2. # Busca redes wifi
  3. function BSSID()
  4. {
  5. bssid=`cat redes.temp |\
  6.                        grep -B 5 "$1" |\
  7.                                        sed -n "1p" | awk '{print $5}'`
  8. }
  9.  
  10. clear
  11.  
  12. scan="Escaneando."
  13.  
  14. interfaz="wlan0" # Comentar
  15. echo "Nombre de la interfaz: $interfaz" #Para preguntar interfaz
  16.  
  17. #echo -n "Nombre de la interfaz: " # Descometar
  18. #read interfaz # Para preguntar interfaz  
  19.  
  20. accesos=`iwlist $interfaz scan > redes.temp`
  21.  
  22. if [ $? -ne 0 ]; then exit 1; else echo -n ""; fi
  23.  
  24. n_accesos=`grep ESSID redes.temp | wc -l`
  25.  
  26. i=1; o=0
  27.  
  28. while [[ $i && $o -lt $n_accesos ]]; do
  29.     printf "$scan\r"
  30.     red[$o]=`iwlist $interfaz scan |\
  31.                        grep ESSID  |\
  32.                                awk '{print $1}' |\
  33.                                    perl -p -e 's/ESSID://g; s/^["]//g ; s/["]$//g' |\
  34.                                       sed -n -e "$i p; /^$/d"`
  35.     let i=i+1 && let o=o+1 && scan=${scan}"."
  36. done
  37.  
  38. i=0;
  39.  
  40. echo "Redes disponibles : "
  41.  
  42. while [ $i -lt ${#red[*]} ]; do
  43.     enctriptacion[$i]=`cat redes.temp |\
  44.                                        grep -B 1 ${red[$i]} |\
  45.                                                             sed -n "1p" |\
  46.                                                                         awk '{print $2}'`
  47.     BSSID ${red[$i]}
  48.     if [[ ${enctriptacion[$i]} =  "key:off" ]] ; then
  49.         echo -e "\e[1;35m$i \e[0m" "${red[$i]}\t $bssid\t (Abierta)"
  50.     else
  51.         echo -e "\e[1;35m$i \e[0m" "${red[$i]}\t $bssid"
  52.    fi
  53.     let i=i+1
  54. done
  55.  
  56. echo -n "Hay ${#red[*]} redes dispnibles,conectarse a : "
  57.  
  58. n=`expr ${#red[*]} - 1`
  59.  
  60. while [ 1 ]; do
  61.     read conect
  62.     if [[ $conect =~ [0-"${n}"] ]]; then
  63.         break
  64.     else
  65.         echo -n "Hay ${#red[*]} redes disponibles,conectarse a (numeros) : "
  66.         continue
  67.     fi
  68. done
  69.  
  70. BSSID ${red[$conect]}
  71.  
  72. echo -e "\e[1;33mESSID : ${red[$conect]} BSSID : $bssid \e[0m"
  73.  
  74. <<EOD
  75. Por si necesitan el essid y bssid
  76.  
  77. essid=${red[$conect]}
  78.  
  79. bssid=`cat redes.temp |\
  80.                        grep -B 5 "${red[$conect]}" |\
  81.                                                    sed -n "1p" | awk '{print $5}'`
  82. EOD
  83.  
  84. while [ 1 ]; do
  85.     if [ ${enctriptacion[$conect]} = "key:off" ]; then
  86.         echo "Conectando..."; sleep 1;
  87.          iwconfig $interfaz essid "${red[$conect]}"
  88.             echo "Ejecutando dhcpcd"
  89.             dhcpcd $interfaz
  90.             rm redes.temp
  91.             break
  92.     else
  93.             echo -n "Clave(Wep):: "
  94.             read -s clave  # Eliminar "-s" para poder ver l clave al escribir
  95.             echo "Conectando..."
  96.             iwconfig $interfaz essid "${red[$conect]}" key $clave
  97.             echo "Ejecutando dhcpcd"
  98.             dhcpcd $interfaz #cambiar dhcpcd por otro programa
  99.             if [$? -eq 0 ]; then
  100.                 echo "Error :("
  101.                 continue
  102.             else
  103.                 rm redes.temp
  104.                 break
  105.             fi
  106.     fi
  107. done
  108.  
  109. #This library is free software; you can redistribute it and/or modify it under
  110. #the terms of the GNU Library General Public License as published by the Free
  111. #Software Foundation; either version 2.1 of the License, or (at your option) any
  112. #later version.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement