diff options
Diffstat (limited to 'recon/autowifi/inspector_wifi')
| -rwxr-xr-x | recon/autowifi/inspector_wifi | 75 | 
1 files changed, 75 insertions, 0 deletions
| diff --git a/recon/autowifi/inspector_wifi b/recon/autowifi/inspector_wifi new file mode 100755 index 00000000..06f37ddb --- /dev/null +++ b/recon/autowifi/inspector_wifi @@ -0,0 +1,75 @@ +#!/bin/sh +# Usage; sudo iwlist wlan0 scan | ./inspector_wifi +# +# +set -eu + +cd "$(dirname "$(readlink -f "$0")")" +echo "waiting for iwlist scan data..." >&2 + +crack_wifi(){ +  for i in plugins/*;do +    if RET=$(./$i "$@" 2>/dev/null);then +      echo "$@ - with crack $i succeeded - Key is $RET" +    fi +  done +} + +shell_escape(){ +  sed 's/./\\&/g' +} +remove_quotes(){ +  sed 's/^"\|"$//g' +} + + +iwlist_scan_parser(){ +    count=0 +    while read line; +    do +        case "$line" in + +            *"Cell "*) +                if [ $count -ne  0 ];then +                  crack_wifi "$ESSID" $MAC $CHANNEL any_encryption +                fi +                WPA=0 +                WPA2=0 +                : $((count+=1)) +                MAC=${line#*Address: } +                ;; +            *Channel:*) +                CHANNEL=${line#*:} +                ;; +            *Quality=*) +                QUALITY="`printf '%s' ${line#*Quality=} | cut -d/  -f 1`" +                ;; +            *"Encryption key:"*) +                ENCRYPTION=${line#*key:} +                ;; +            *ESSID:*) +              ESSID=$(echo "${line#*ESSID:}" | remove_quotes) +                ;; +            *"IE: IEEE 802.11i/WPA2"*) +                WPA2=1 +                ;; +            *"IE: WPA Version 1"*) +                WPA=1 +                ;; +            *);; #important, do not delete! +        esac +    done; +    crack_wifi "$ESSID" $MAC $CHANNEL any_encryption +    echo WIFI_COUNT=$count +} + +wifi_init(){ +  iwlist_scan_parser +} + +loop_networks(){ +    for i in `seq 1 $WIFI_COUNT`; do +        loop_over_cracks "$i" +    done +} +wifi_init | 
