1
0

scan_arp.sh 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. cat > /home/scan_arp.sh <<\EOGTR#!/bin/bash
  2. #########################################################################
  3. # Script for scan ARP #
  4. # Created by PM-DoIT #
  5. # ver 0.5 #
  6. #########################################################################
  7. #------------------------------- VARIABLE ------------------------------#
  8. PORT="22"
  9. NIC=$(ip link | grep -v "lo:" | grep UP | awk '{print $2}' | sed 's/://g' | head -1)
  10. TEMP="/var/tmp/scan"
  11. LOG="/var/tmp/scan.log"
  12. #----------------------------- MAC-UPDATE ------------------------------#
  13. amac(){
  14. echo -e "- \e[1;32mMAC\e[0m Update"
  15. /usr/sbin/get-oui -v > /dev/null 2>&1
  16. }
  17. #------------------------------ ARP-SCAN -------------------------------#
  18. ascan(){
  19. echo -e "- \e[1;32mARP\e[0m Scan LAN over [\e[1;33m$NIC\e[0m]"
  20. rm -rf /var/tmp/scan*
  21. arp-scan --retry=2 --ignoredups -I $NIC --localnet | sort -V >> $TEMP
  22. }
  23. #----------------------------- CHECK-PORT ------------------------------#
  24. aport(){
  25. echo -e "- \e[1;32mCheck\e[0m open port [\e[1;33m$PORT\e[0m]"
  26. LST=$(cat $TEMP | awk '{print $1}' | grep "^[0-9][0-9].")
  27. echo "-------------- ------------- ----------------- ---------- --------" > $LOG
  28. echo "IP-ADDRESS HOSTNAME MAC-ADDRESS VENDOR PORT[$PORT]" >> $LOG
  29. echo "-------------- ------------- ----------------- ---------- --------" >> $LOG
  30. for i in $LST;
  31. do
  32. timeout 1 nc -z -v $i $PORT > /var/tmp/scan.txt 2>&1
  33. HOST=$(cat /etc/hosts | grep -w "$i" | awk '{print $2}' | head -1)
  34. if [ -z $HOST ]; then HOST="!MISSING!"; fi
  35. VEND=$(cat $TEMP | grep -w "$i" | awk '{print $3"_"$4}')
  36. MAC=$(cat $TEMP | grep -w "$i" | awk '{print $2}')
  37. STA=$(cat /var/tmp/scan.txt | egrep "open|refused|closed|succeeded" | awk '{print $NF}')
  38. echo "$i $HOST $MAC $VEND $STA" >> $LOG
  39. done
  40. echo "-------------- ------------- ----------------- ---------- --------" >> $LOG
  41. sed -i 's/(tcp)//g' $LOG
  42. }
  43. #------------------------------- CORE ----------------------------------#
  44. clear
  45. amac
  46. ascan
  47. aport
  48. echo -e "- \e[1;32mReport\e[0m generated [\e[1;34m/var/tmp/scan.log\e[0m]"
  49. cat $LOG | column -t