summaryrefslogtreecommitdiffstats
path: root/recon/inspector_wifi/plugins/plugin_core
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2014-12-25 21:15:01 +0100
committermakefu <github@syntax-fehler.de>2014-12-25 21:15:01 +0100
commitabd5b2c8f074ae26c2680048640c47e10566bd39 (patch)
tree9dbdc63edbababec6412992dabba84089117b472 /recon/inspector_wifi/plugins/plugin_core
parentc0f39b57888603595aa37d5abbdad0f52a525184 (diff)
parent8db6cecf6f088ebac98a6be15d920ab412a1c510 (diff)
Merge branch 'master' of ssh://github.com/krebscode/painload
everything stays the same in inspector_wifi Conflicts: recon/inspect_wifi/.gitignore recon/inspect_wifi/README.md recon/inspect_wifi/TODO recon/inspect_wifi/inspector_wifi recon/inspect_wifi/plugins/01open recon/inspect_wifi/plugins/02alice recon/inspect_wifi/plugins/02easybox recon/inspect_wifi/plugins/02tplink recon/inspect_wifi/plugins/plugin_core recon/inspector_wifi/.gitignore recon/inspector_wifi/README.md recon/inspector_wifi/TODO recon/inspector_wifi/inspector_wifi recon/inspector_wifi/plugins/01open recon/inspector_wifi/plugins/02alice recon/inspector_wifi/plugins/02easybox recon/inspector_wifi/plugins/02tplink recon/inspector_wifi/plugins/plugin_core recon/wifi_inspector/.gitignore recon/wifi_inspector/README.md recon/wifi_inspector/TODO recon/wifi_inspector/inspector_wifi recon/wifi_inspector/plugins/01open recon/wifi_inspector/plugins/02alice recon/wifi_inspector/plugins/02easybox recon/wifi_inspector/plugins/02tplink recon/wifi_inspector/plugins/plugin_core
Diffstat (limited to 'recon/inspector_wifi/plugins/plugin_core')
-rw-r--r--recon/inspector_wifi/plugins/plugin_core41
1 files changed, 41 insertions, 0 deletions
diff --git a/recon/inspector_wifi/plugins/plugin_core b/recon/inspector_wifi/plugins/plugin_core
new file mode 100644
index 00000000..e79a3c05
--- /dev/null
+++ b/recon/inspector_wifi/plugins/plugin_core
@@ -0,0 +1,41 @@
+#!/bin/sh
+parse_plugin_args(){
+ [ $# -ne 4 ] && plugin_usage && exit 1
+ # convenience function to put args in ENV variables
+ ESSID="$1"
+
+ # mac is returned without colon
+ MAC=$(printf "%s" "$2" | sed 's/://g')
+ # split up the mac address to vendor and private part
+ VENDOR_MAC=${MAC:0:6}
+ PRIVATE_MAC=${MAC:6:12}
+ CHANNEL="$3"
+ ENC="$4"
+ if [ ${#MAC} -ne 12 ] ;then
+ echo "MAC malformed"
+ exit 1
+ fi
+}
+plugin_usage(){
+ cat << EOF
+usage: $0 ESSID MAC CHANNEL ENC"
+
+ ESSID - string
+ MAC - 00:11:22:33:44:55
+ CHANNEL - 4
+ ENC - wpa
+EOF
+
+}
+
+check_vendor_mac(){
+ needle="$(printf $1 | tr '[A-Z]' '[a-z]')"
+ shift
+ for i in "$@";do
+ [ "$needle" == "$(printf $i | tr '[A-Z]' '[a-z]')" ] && return 0
+ done
+ return 1
+}
+check_painmode(){
+ test -z "${painmode:-}" && echo "painmode required" && exit 1
+}