diff options
author | makefu <github@syntax-fehler.de> | 2013-06-26 13:26:56 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2013-06-26 13:26:56 +0200 |
commit | ae52241d3802079628a87a534ce1853d1d46c82a (patch) | |
tree | 9b37886b3ce86da81febfe3594c8a31b5694870f /usr/bin | |
parent | 410ddbd1f77e2f65de6e6b6c86daf031e296028d (diff) | |
parent | a0f4644017949e17b45f23a3870afa6f6c2823cb (diff) |
Merge branch 'master' of github.com:krebscode/autowifi
Diffstat (limited to 'usr/bin')
-rwxr-xr-x | usr/bin/autowifi | 19 | ||||
-rwxr-xr-x | usr/bin/autowifi_dryrun | 40 |
2 files changed, 36 insertions, 23 deletions
diff --git a/usr/bin/autowifi b/usr/bin/autowifi index 1969e650..5de46f41 100755 --- a/usr/bin/autowifi +++ b/usr/bin/autowifi @@ -114,6 +114,21 @@ loop_over_cracks(){ done return 1 } +loop_cracks_over_networks(){ + wifi_init + for crack in $(find $crackdir -type f | sort -u); do + for i in `seq 1 $WIFI_COUNT`; do + KEY="$(eval root=$root \$crack \"\${ESSID_${i}}\" \"\${MAC_${i}}\" \${FREQ_${i}} \${ENCRYPTION_${i}})" + if [ $? -eq 0 ]; then + eval connect \"\${MAC_${i}}\" \"\${ESSID_${i}}\" \${ENCRYPTION_${i}} \"\${KEY}\" + if [ $? -eq 0 ]; then + return 0 + fi + fi + done + done + +} #scan_all(){ # for i in `seq 1 $WIFI_COUNT`; do @@ -151,11 +166,11 @@ elif [ -n "$1" ]; then connect_to_network_by_ssid "$1" else echo looping network now - check_internet || loop_over_networks + check_internet || loop_cracks_over_networks while sleep 60; do if ! check_internet; then - loop_over_networks + loop_cracks_over_networks fi done fi diff --git a/usr/bin/autowifi_dryrun b/usr/bin/autowifi_dryrun index 1df94119..8860b4a6 100755 --- a/usr/bin/autowifi_dryrun +++ b/usr/bin/autowifi_dryrun @@ -2,30 +2,23 @@ # ENV: # the root directory (e.g. root=$PWD/../../ if run from here ) cd $(dirname $(readlink -f $0)) -root=${root:-/} -wifi=${wifi:-wlan0} - test "${1:-}" = 'quiet' && exec 2>&- -# for iwlist_scan -. $root/usr/lib/autowifi/lib/iwlist +interface=${interface:-wlan0} +root=${root:-../../} +crackdir=$root/usr/lib/autowifi/plugins +wifi_keys=$root/etc/autowifi/wifi_keys +wifi_log=$root/var/log/autowifi.log -# . $ROOT/usr/lib/autowifi/lib/ +# exists() run_hooks() +. $root/usr/lib/autowifi/lib/core -# for check_internet and check_gateway -# . /usr/lib/autowifi/lib/network +# start_wpa_supplicant() +. $root/usr/lib/autowifi/lib/wpa_supplicant crack_wifi(){ - #SSID MAC CHANNEL ENCRYPTION WPA WPA2 - if [ "$4" == off ];then - encr=open - elif [ "$6" -eq 1 ]; then - encr=psk2 - elif [ "$5" -eq 1 ]; then - encr=psk - elif [ "$4" == on ]; then - encr=wep - fi + #SSID MAC CHANNEL ENCRYPTION + ALL_RET=1 for hack in $(find $root/usr/lib/autowifi/plugins -type f | sort -n); do printf "%s" "Trying $(basename $hack) against $1 : " >&2 @@ -41,13 +34,18 @@ crack_wifi(){ done return $ALL_RET } +wifi_init(){ + wpa_supplicant_is_usable || start_wpa_supplicant /tmp/autowifi.wpa_supplicant + wifi_scan > /tmp/${interface}.scan + . /tmp/${interface}.scan +} loop_over_networks(){ - . /tmp/${wifi}.scan + wifi_init + echo "SSID:MAC:CHANNEL:ENCRYPTION:key" for i in `seq 1 $WIFI_COUNT`; do - eval crack_wifi \"\${ESSID_${i}}\" \${MAC_${i}} \${CHANNEL_${i}} \${ENCRYPTION_${i}} \${WPA_${i}} \${WPA2_${i}} + eval crack_wifi \"\${ESSID_${i}}\" \${MAC_${i}} \${CHANNEL_${i}} \${ENCRYPTION_${i}} done } -iwlist_scan > /tmp/${wifi}.scan loop_over_networks |