fluxion/scripts/diagnostics.sh

112 lines
2.7 KiB
Bash
Executable File

#!/usr/bin/env bash
clear
declare -r HEADER_SIZE="####"
# Diagnostic script
if [ -d "lib" ];then
source lib/InterfaceUtils.sh
source lib/ChipsetUtils.sh
elif [ -d "../lib" ];then
source ../lib/InterfaceUtils.sh
source ../lib/ChipsetUtils.sh
else
echo -e "\033[31mError lib folder not found\033[0m"
exit 1
fi
if [ ! "$1" ]; then
echo -e "\033[32mUsage ./scripts/diagnostics [wireless_interface]\033[0m"
exit 1
fi
echo "$HEADER_SIZE FLUXION Info"
if [ -f "fluxion.sh" ];then
declare -r FLUXIONInfo=($(grep -oE "FLUXION(Version|Revision)=[0-9]+" fluxion.sh))
else
declare -r FLUXIONInfo=($(grep -oE "FLUXION(Version|Revision)=[0-9]+" ../fluxion.sh))
fi
echo "FLUXION V${FLUXIONInfo[0]/*=/}.${FLUXIONInfo[1]/*=/}"
echo -ne "\n\n"
echo "$HEADER_SIZE BASH Info "
bash --version
echo "**Path:** $(ls -L $(which bash))"
echo -ne "\n\n"
echo "$HEADER_SIZE Interface ($1) Info "
if interface_physical "$1";then
echo "**Device**: $InterfacePhysical"
else
echo "**Device:** Unknown"
fi
if interface_driver "$1";then
echo "**Driver:** $InterfaceDriver"
else
echo "**Driver:** Unsupported"
fi
if interface_chipset "$1";then
echo "**Chipset:** $InterfaceChipset"
else
echo "**Chipset:** Unknown"
fi
if iw list | grep monitor | head -n 1 | tail -n 1 &>/dev/null;then
echo "**Master Modes** Yes"
else
echo "**Master Modes** No"
fi
echo -n "**Injection Test:** "
aireplay-ng --test "$1" | grep -oE "Injection is working!|No Answer..." || echo -e "\033[31mFailed\033[0m"
echo -ne "\n\n"
echo "$HEADER_SIZE XTerm Infos"
echo "**Version:** $(xterm -version)"
echo "**Path:** $(ls -L $(which xterm))"
echo -n "Test: "
if xterm -hold -fg "#FFFFFF" -bg "#000000" -title "XServer/XTerm Test" -e "echo \"XServer/XTerm test: close window to continue...\"" &>/dev/null; then echo "XServer/XTerm success!"
else
echo -e "\033[31m XServer/XTerm failure!\033[0m"
fi
echo -ne "\n\n"
echo "$HEADER_SIZE HostAPD Info"
hostapd -v
echo "Path: $(ls -L $(which hostapd))"
echo -ne "\n\n"
echo "$HEADER_SIZE Aircrack-ng Info"
aircrack-ng -H | head -n 4
echo -ne "\n"
echo "$HEADER_SIZE Pyrit Info"
scapyver=$(python2 -c "import scapy; print(scapy.VERSION)")
pyrit | head -n 3
echo "**Scapy Version:** ${scapyver}"
if [[ "$scapyver" != 2.3.? ]]; then
echo -e "\033[31mWarning: Pyrit has been reported to be incompatible with scapy version 2.4.0 and above. Consult the wiki for further information. This should not affect you, if you don't choose to use pyrit in the script.\033[0m"
fi
echo -ne "\n"
# System info
echo "$HEADER_SIZE System Info"
if [ -r "/proc/version" ]; then
echo "**Chipset:** $(cat /proc/version)"
else
echo "**Chipset:** $(uname -r)"
fi
echo -ne "\n"
echo "$HEADER_SIZE Chipset"
chipset=$(airmon-ng | grep $1 | awk '{print $3}')
echo "Chipset: $chipset"
check_chipset $chipset