View source for Wifiweasel
From Openmoko
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Template used on this page:
Return to Wifiweasel.
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Template used on this page:
Return to Wifiweasel.
script to Auto connect to Open wirelss 81102 AP's
wifiweasel v1 once run this script takes control of the wireless interface detects and connects to strongest open wifi AP in the vicinity and checks connectivity every X seconds if connection fails the whole proccess repeats itself
#!/bin/sh ##################### ########################### #/var/wifi/hacker/kd8ikt### # OMG i'm programming now!# ########################### ###we.trekbeyond.org####### ##################### #KISS# # CONFIG #######interface################ IFACE=eth0 # #####host HOST=myspace.com # ###heh#ping#flood#the#net#poison # #check connectivity every X sec X=30 # # /CONFIG ################################ #### Scan Funk #### Func_iwlist_open () { iwlist $IFACE scanning | awk -F '[ :=]+' '/(ESS|Freq|Qual)/{ printf $3" " } /Encr/{ print $4 }' \ | sort -k4 -k3nr |grep off \ |awk '{print $1}' > /tmp/weasel sed /\"/s/\"//g /tmp/weasel > /tmp/ESSID } #### iface up Funk ######## Func_ifconfig_up () { iwconfig $IFACE essid `cat /tmp/ESSID` } #### iface down Funk ##### Func_ifconfig_down () { killall udhcpc ifconfig $IFACE down } #### Conn Funk ##### Func_chk_net () { ping -w 2 -c 1 $HOST if [ $=0 ];then ERROR=0; echo Online! ;sleep $X; Func_chk_net ; fi #W00T if [ $=1 ] ; then ERROR=1 ;echo FAILING; Func_Main ; fi } #### Main Funk ######### Func_MAIN () { while [ ERROR=1 ] ; do Func_ifconfig_down ; Func_ifconfig_up Func_iwlist_open; udhcpc $IFACE ; Func_ch_net done; } #### MAIN #### Func_ifconfig_down ; Func_ifconfig_up $Func_iwlist_open ; udhcpc $IFACE ; Func_chk_net ; echo This is the end my only friend the end Done; #####################EOF###############
to be implemented
instead of pinging net hosts which could quickly start dropping pkts we will ping the router via ip route show to 0/0
#!/usr/bin/perl # Tim Osburn - tim@osburn.com # # install perl $iwlist = "/sbin/iwlist eth0 scanning"; open scan, "$iwlist |"; while (<scan>) { if (/^\s+Cell (\S+) - Address: (\S+)/) { $CELL=$1; $ADDRESS=$2; # print "$1 $2"; $INLOOP=1; } if (/^\s+ESSID:(\S+)/) { $ESSID=$1; print " $1"; } if (/^\s+Frequency:\S+ \S+ \(Channel (\S+)\)/) { $CHAN=$1; print " $1"; } if (/^\s+Quality=\S+\s+Signal level=(\S+).*/) { $SIGNAL=$1; print " $1"; } if (/^\s+Encryption key:(\S+)/) { $ENCRYPTION=$1; print " $1\n"; } } close scan;
produces output in the form of "essid" channel signal_strength encryption_status
"ESSID_NAME1" 1 -82 on
"ESSID_NAME2" 1 -49 off