cat > /home/scan_arp.sh <<\EOGTR#!/bin/bash ######################################################################### # Script for scan ARP # # Created by PM-DoIT # # ver 0.5 # ######################################################################### #------------------------------- VARIABLE ------------------------------# PORT="22" NIC=$(ip link | grep -v "lo:" | grep UP | awk '{print $2}' | sed 's/://g' | head -1) TEMP="/var/tmp/scan" LOG="/var/tmp/scan.log" #----------------------------- MAC-UPDATE ------------------------------# amac(){ echo -e "- \e[1;32mMAC\e[0m Update" /usr/sbin/get-oui -v > /dev/null 2>&1 } #------------------------------ ARP-SCAN -------------------------------# ascan(){ echo -e "- \e[1;32mARP\e[0m Scan LAN over [\e[1;33m$NIC\e[0m]" rm -rf /var/tmp/scan* arp-scan --retry=2 --ignoredups -I $NIC --localnet | sort -V >> $TEMP } #----------------------------- CHECK-PORT ------------------------------# aport(){ echo -e "- \e[1;32mCheck\e[0m open port [\e[1;33m$PORT\e[0m]" LST=$(cat $TEMP | awk '{print $1}' | grep "^[0-9][0-9].") echo "-------------- ------------- ----------------- ---------- --------" > $LOG echo "IP-ADDRESS HOSTNAME MAC-ADDRESS VENDOR PORT[$PORT]" >> $LOG echo "-------------- ------------- ----------------- ---------- --------" >> $LOG for i in $LST; do timeout 1 nc -z -v $i $PORT > /var/tmp/scan.txt 2>&1 HOST=$(cat /etc/hosts | grep -w "$i" | awk '{print $2}' | head -1) if [ -z $HOST ]; then HOST="!MISSING!"; fi VEND=$(cat $TEMP | grep -w "$i" | awk '{print $3"_"$4}') MAC=$(cat $TEMP | grep -w "$i" | awk '{print $2}') STA=$(cat /var/tmp/scan.txt | egrep "open|refused|closed|succeeded" | awk '{print $NF}') echo "$i $HOST $MAC $VEND $STA" >> $LOG done echo "-------------- ------------- ----------------- ---------- --------" >> $LOG sed -i 's/(tcp)//g' $LOG } #------------------------------- CORE ----------------------------------# clear amac ascan aport echo -e "- \e[1;32mReport\e[0m generated [\e[1;34m/var/tmp/scan.log\e[0m]" cat $LOG | column -t