Browse Source

Script for scan local subnet

pmacko 1 month ago
parent
commit
e88a1e9238
1 changed files with 54 additions and 0 deletions
  1. 54 0
      scan_arp.sh

+ 54 - 0
scan_arp.sh

@@ -0,0 +1,54 @@
+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