summaryrefslogtreecommitdiffstats
path: root/usr/bin
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2013-06-26 13:26:56 +0200
committermakefu <github@syntax-fehler.de>2013-06-26 13:26:56 +0200
commitae52241d3802079628a87a534ce1853d1d46c82a (patch)
tree9b37886b3ce86da81febfe3594c8a31b5694870f /usr/bin
parent410ddbd1f77e2f65de6e6b6c86daf031e296028d (diff)
parenta0f4644017949e17b45f23a3870afa6f6c2823cb (diff)
Merge branch 'master' of github.com:krebscode/autowifi
Diffstat (limited to 'usr/bin')
-rwxr-xr-xusr/bin/autowifi19
-rwxr-xr-xusr/bin/autowifi_dryrun40
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