Wifiweasel

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(iwscan)
(iwscan bash)
Line 58: Line 58:
 
output=
 
output=
  
"SSIDNAME" 2.412 46/94 off
+
"SSIDNAME" 2.412 46/94 off <br>
"NextName" 2.412 29/94 on
+
"NextName" 2.412 29/94 on <br>
"guess?" 2.462 4/94 on
+
"guess?" 2.462 4/94 on   <br>
  
 
====precon====
 
====precon====

Revision as of 01:11, 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

iwscan bash

 
 iwlist ath0 scanning | awk -F '[ :=]+' '/(ESS|Freq|Qual)/{ printf $3" " } /Encr/{ print $4 }' | sort -k4 -k3nr

output=

"SSIDNAME" 2.412 46/94 off
"NextName" 2.412 29/94 on
"guess?" 2.462 4/94 on

precon

$iwscan_output grep off

?compare signal?

ifconfig eth0 essid "essid" udhcpc eth0 chknet

chknet

#!/bin/sh
HOSTTT="google.com"
for Hosts in $HOSTTT
do
  count=$(ping -c 1 $HOSTTT | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
  if [ $count -eq 0 ]; then
        export netstat=0 
  fi
  if [ $count -eq 1 ]; then
	export netstat=1 ;
  fi
while ($netstat=0)
do ./iwscan + the signal comparision crap then retry connecting ugh this isnt right is it

done

outputs

FAIL or w00t

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

iwscan bash

 
 iwlist ath0 scanning | awk -F '[ :=]+' '/(ESS|Freq|Qual)/{ printf $3" " } /Encr/{ print $4 }' | sort -k4 -k3nr

output=

"SSIDNAME" 2.412 46/94 off "NextName" 2.412 29/94 on "guess?" 2.462 4/94 on

precon

$iwscan_output grep off

?compare signal?

ifconfig eth0 essid "essid" udhcpc eth0 chknet

chknet

#!/bin/sh
HOSTTT="google.com"
for Hosts in $HOSTTT
do
  count=$(ping -c 1 $HOSTTT | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
  if [ $count -eq 0 ]; then
        export netstat=0 
  fi
  if [ $count -eq 1 ]; then
	export netstat=1 ;
  fi
while ($netstat=0)
do ./iwscan + the signal comparision crap then retry connecting ugh this isnt right is it

done

outputs

FAIL or w00t