Advertisement
hpsaturn

Basic Bash Wireless Connect

Jun 23rd, 2012
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.27 KB | None | 0 0
  1. #! /bin/sh
  2. ###################################################################
  3. # WPA Connect
  4. # 2009-2010 Hpsaturn v1.3
  5. #
  6. # Archivos de configuracion:
  7. # deben ser creados con wpa_passphrase en $CPATH previamente
  8. # y deben tener de prefijo: wpa_ y sufijo .conf, por ej:
  9. # wpa_casa.conf
  10. #
  11. # ejecucion:
  12. #
  13. # #connect xxxx (carga configuracion especifica para wpa_xxxx.conf)
  14. # #connect      (carga configuracion por defecto)
  15. # #connect stop (mata la conexion)
  16. #
  17. # REV000: Creación de funciones para open network, custom parametro
  18. # RE0001: Creación de funcion para posible red wep
  19. # REV002: Anexo para metro para scan basico. (scan)
  20. # REV003: Funcion para Ad-Hoc, ej: connect adhoc essid key. Separacion
  21. #         de algunas funciones para optimizar codigo
  22. # REV004: Correccion de mensajes de funciones
  23. # REV005: Anexo modo master por WEP para repartir internet facil
  24. # REV006: Open networks y scan con enable device
  25. ###################################################################
  26.  
  27. #config
  28. CONFIG="$1"
  29. CPATH=/etc/wpa_supplicant
  30. DEVICE=wlan0
  31. MODULE=ath9k
  32. DEFAULT=home
  33.  
  34. #functions
  35. wpa_connect () {
  36.   if [ -e $CPATH/wpa_$CONFIG.conf ]; then
  37.     ifconfig eth0 down
  38.     enable_device
  39.     echo -n "wpa_connect.."
  40.     wpa_supplicant -B -c $CPATH/wpa_$CONFIG.conf -i $DEVICE -s 2> /dev/null
  41.     sleep 2
  42.     echo  "done."
  43.     dhclient_service
  44.   else
  45.     echo "config file: $CPATH/wpa_$CONFIG.conf not found!!"
  46.     exit 1
  47.   fi
  48. }
  49.  
  50. wpa_stop () {
  51.   echo -n "wpa_stop.."
  52.   killall wpa_supplicant 2> /dev/null
  53.   killall dhclient 2> /dev/null
  54.   ifconfig $DEVICE down
  55.   echo "done."
  56. }
  57.  
  58. open_network () {
  59.   echo -n "connect to $1.."
  60.   iwconfig $DEVICE essid $1
  61.   echo "done."
  62.   dhclient_service
  63. }
  64.  
  65. wep_network () {
  66.   echo -n "connect to $1.."
  67.   iwconfig $DEVICE essid $1 key s:"$2"
  68.   echo "done."
  69.   dhclient_service
  70. }
  71.  
  72. adhoc_network () {
  73.   remove_module
  74.   sleep 2
  75.   install_module
  76.   sleep 2
  77.   echo -n "connect to $1.."
  78.   iwconfig $DEVICE mode Ad-Hoc
  79.   sleep 1
  80.   iwconfig $DEVICE essid $1 key s:'$2'
  81.   echo "done."
  82.   enable_device
  83.   dhclient_service
  84. }
  85.  
  86. remove_module () {
  87.   echo -n "remove modules.."
  88.   modprobe -r $MODULE
  89.   echo "done."
  90. }
  91.  
  92. install_module () {
  93.   echo -n "install modules.."
  94.   modprobe $MODULE
  95.   echo "done."
  96. }
  97.  
  98. scan_networks () {
  99.   enable_device
  100.   iwlist $DEVICE scanning
  101. }
  102.  
  103. enable_device () {
  104.   echo -n "enable device $DEVICE.."
  105.   ifconfig $DEVICE up
  106.   sleep 1
  107.   echo "done."
  108. }
  109.  
  110. dhclient_service () {
  111.   echo -n "dhclient service.."
  112.   dhclient $DEVICE 2> /dev/null
  113.   echo "done."
  114. }
  115.  
  116. #########################################################
  117. ######################## MAIN ###########################
  118. #########################################################
  119.  
  120. # Si parametro nulo, entonces carga configuracion
  121. # por defecto.
  122.  
  123. if [ "$CONFIG" = "" ]; then
  124.   CONFIG=$DEFAULT
  125.   wpa_connect
  126. else
  127.   case "$1" in
  128.     scan)
  129.       scan_networks
  130.       ;;
  131.     open)
  132.       open_network $2
  133.       ;;
  134.     remove)
  135.       remove_module
  136.       ;;
  137.     install)
  138.       install_module
  139.       ;;
  140.     stop)
  141.       wpa_stop
  142.       ;;
  143.     wep)
  144.       wep_network $2 $3   # essid key
  145.       ;;
  146.     dhoc)
  147.       adhoc_network $2 $3   # essid key
  148.       ;;
  149.     *)
  150.       wpa_connect
  151.       ;;
  152.   esac
  153. fi
  154.  
  155. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement