LNO_LiGhT

bash port scanner v2 by light !v1UPDATE!

Feb 2nd, 2016
1,462
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.41 KB | None | 0 0
  1. #!/bin/bash
  2. # By: LiGhT
  3. # Bash Port Scanner v2
  4.  
  5. if [ $# != 5 ]; then
  6. echo -e "\e[0;32mUsage: [start ip] [end ip] [port to scan] [input file] [output file]\e[1;37m"
  7. exit 0
  8. fi
  9. if [ -f /usr/bin/nc ]; then
  10. echo -e "\e[0;32mBash Port Scanner v2... IP GEN STARTED!.. Be patient(bigger ranges will take longer)\e[1;37m"
  11. else
  12. exit 0
  13. fi
  14. IPLO=(`echo "$1" | awk '{split($1,a,"."); print a[1]" "a[2]" "a[3]" "a[4]}'`)
  15. IPHI=(`echo "$2" | awk '{split($1,a,"."); print a[1]" "a[2]" "a[3]" "a[4]}'`)
  16.  
  17. OCTA=${IPLO[0]}
  18. OCTB=${IPLO[1]}
  19. OCTC=${IPLO[2]}
  20. OCTD=${IPLO[3]}
  21. OCTAHI=${IPHI[0]}
  22. OCTBHI=${IPHI[1]}
  23. OCTCHI=${IPHI[2]}
  24. OCTDHI=${IPHI[3]}
  25. OCTDMAX=255
  26. FINISHED=0
  27.  
  28. for i in 0 1 2 3
  29. do
  30.         if [ -z "${IPLO[$i]}" ] || [ -z "${IPHI[$i]}" ]; then
  31.                 exit 1
  32.         elif [ "${IPLO[$i]}" -gt "255" ] || [ "${IPHI[$i]}" -gt "255" ];then
  33.                 echo "You fucked up on your ip ranges"
  34.                 exit 1
  35.         fi
  36.  
  37. done
  38.  
  39. until [ "$FINISHED" -eq "1" ]; do #check
  40.         if [ "$OCTA" -eq "$OCTAHI" ] && \
  41.            [ "$OCTB" -eq "$OCTBHI" ] && \
  42.            [ "$OCTC" -eq "$OCTCHI" ]; then
  43.                 OCTDMAX=$OCTDHI
  44.         fi
  45.  
  46.         while [ "$OCTD" -le "$OCTDMAX" ]; do
  47.                 echo "$OCTA.$OCTB.$OCTC.$OCTD" >> $4 #outputs ips into file
  48.                 if [ "$OCTA" -eq "$OCTAHI" ] && \
  49.                    [ "$OCTB" -eq "$OCTBHI" ] && \
  50.                    [ "$OCTC" -eq "$OCTCHI" ] && \
  51.                    [ "$OCTD" -eq "$OCTDHI" ]; then
  52.                         FINISHED=1
  53.                 fi
  54.                 OCTD=$(( $OCTD + 1 )) #changing value of variable
  55.         done
  56.  
  57.         OCTC=$(( $OCTC + 1 ))
  58.         OCTD="0"
  59.  
  60.         if [ "$OCTC" -gt "255" ]; then #check
  61.                 OCTB=$(( $OCTB + 1 ))
  62.                 OCTC="0"
  63.         fi
  64.  
  65.         if [ "$OCTB" -gt "255" ]; then #check
  66.                 OCTA=$(( $OCTA + 1 ))
  67.                 OCTB="0"
  68.         fi
  69.  
  70.         if [ "$OCTA" -gt "255" ]; then #check
  71.                 FINISHED=1
  72.         fi
  73. done
  74. echo -e "\e[0;32mIPs Found:\e[1;37m $(cat $4 | wc -l)\e[1;37m"
  75. echo -e "\e[0;32mStarting Portscan!\e[1;37m"
  76. while IFS='' read -r line || [[ -n "$line" ]]; do
  77.         if [[ $(nc -v -z -w 1 $line $3 | grep succeeded | grep -v time | grep -v fail) != "" ]]
  78.         then
  79.         echo "Host: $line | Port: $3" && echo $line >>$5 #prints ip w/ open port and sends ip to an active ip list
  80.         fi
  81. done < "$4"
  82. exit 0
Advertisement
Add Comment
Please, Sign In to add comment