Wifiweasel

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(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/{ print $4 }' \
+
| 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.iwlist.open
+
Func_ifconfig_up(){
###########################
+
ifconfig $IFACE essid $Func_iwlist_open
#  Func.chk.net (needs reworked) its bad code so speedevil tells me and i'm starting to see it
+
udhcpc $IFACE }
###########################
+
##########################
#  w00t=yes  FAIL=no
+
Func_ifconfig_down(){
HOSTTT="google.com"
+
killall udhcpc
for Hosts in $HOSTTT
+
ifconfig $IFACE down }
do
+
##########################
  count=$(ping -c 1 $HOSTTT | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
+
Func.chk.net() {
  if [ $count -eq 0 ]; then
+
ping -c 1 $HOST
    # 100% failed
+
if [ $=0 ];then ERROR=0; echo Online! fi done #W00T
    echo "FAIL"
+
sleep 30; 
  fi
+
if [ $=1 ] ;then ERROR=1 ;echo FAILING fi #FAIL
 
+
done }
  if [ $count -eq 1 ]; then
+
 
 
+
#while true; do ls; done
echo "w00t"
+
 
  fi
+
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


Personal tools

script to Auto connect to Open wirelss 81102 AP's

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