Wifiweasel
From Openmoko
(Difference between revisions)
(→iwscan bash) |
(→/bin/sh) |
||
Line 55: | Line 55: | ||
(Not Finished) | (Not Finished) | ||
<pre> | <pre> | ||
+ | |||
#!/bin/sh | #!/bin/sh | ||
Line 76: | Line 77: | ||
# Func.iwlist.open | # Func.iwlist.open | ||
########################## | ########################## | ||
− | Func_iwlist_open() { | + | Func_iwlist_open(){ |
iwlist $IFACE scanning \ | iwlist $IFACE scanning \ | ||
− | | awk -F '[ :=]+' '/(ESS|Freq|Qual)/{ printf $3" " } /Encr | + | | awk -F '[ :=]+' '/(ESS|Freq|Qual)/{ printf $3" " } /Encr { print $4 }' \ |
|sort -k4 -k3nr \ | |sort -k4 -k3nr \ | ||
|grep off \ | |grep off \ | ||
|awk '{print $1}' } | |awk '{print $1}' } | ||
− | + | ########################## | |
− | + | Func_ifconfig_up(){ | |
− | + | ifconfig $IFACE essid $Func_iwlist_open | |
− | + | udhcpc $IFACE } | |
− | + | ########################## | |
− | + | Func_ifconfig_down(){ | |
− | + | killall udhcpc | |
− | + | ifconfig $IFACE down } | |
− | + | ########################## | |
− | + | Func.chk.net() { | |
− | + | ping -c 1 $HOST | |
− | + | if [ $=0 ];then ERROR=0; echo Online! fi done #W00T | |
− | + | sleep 30; | |
− | + | if [ $=1 ] ;then ERROR=1 ;echo FAILING fi #FAIL | |
− | + | done } | |
− | + | ||
− | + | #while true; do ls; done | |
− | + | ||
− | + | while [ ERROR=1 ]; do | |
− | # | + | Func.iwlist.open |
+ | |||
+ | |||
+ | </pre> |
Revision as of 09:04, 22 July 2008
script to Auto connect to Open wirelss 81102 AP's
Contents |
TODO
- determine AP without encryption and sort by best signal
- using essid of best signal perform connect/udhcpc and chknet every so often
if net is down repeat
- put it all together
sandbox
iwscan perl
#!/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
/bin/sh
(Not Finished)
#!/bin/sh ##################### ########################### #/var/wifi/hacker/kd8ikt### # OMG i'm programming now!# ########################### ###we.trekbeyond.org####### ##################### #KISS# ######wireless interface IFACE=eth0 # ####host to do ping test HOST=myspace.com # ## heh ping flood the noobs # # Func.iwlist.open ########################## Func_iwlist_open(){ iwlist $IFACE scanning \ | awk -F '[ :=]+' '/(ESS|Freq|Qual)/{ printf $3" " } /Encr { print $4 }' \ |sort -k4 -k3nr \ |grep off \ |awk '{print $1}' } ########################## Func_ifconfig_up(){ ifconfig $IFACE essid $Func_iwlist_open udhcpc $IFACE } ########################## Func_ifconfig_down(){ killall udhcpc ifconfig $IFACE down } ########################## Func.chk.net() { ping -c 1 $HOST if [ $=0 ];then ERROR=0; echo Online! fi done #W00T sleep 30; if [ $=1 ] ;then ERROR=1 ;echo FAILING fi #FAIL done } #while true; do ls; done while [ ERROR=1 ]; do Func.iwlist.open