Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # By: LiGhT
- # Bash Port Scanner v2
- if [ $# != 5 ]; then
- echo -e "\e[0;32mUsage: [start ip] [end ip] [port to scan] [input file] [output file]\e[1;37m"
- exit 0
- fi
- if [ -f /usr/bin/nc ]; then
- echo -e "\e[0;32mBash Port Scanner v2... IP GEN STARTED!.. Be patient(bigger ranges will take longer)\e[1;37m"
- else
- exit 0
- fi
- IPLO=(`echo "$1" | awk '{split($1,a,"."); print a[1]" "a[2]" "a[3]" "a[4]}'`)
- IPHI=(`echo "$2" | awk '{split($1,a,"."); print a[1]" "a[2]" "a[3]" "a[4]}'`)
- OCTA=${IPLO[0]}
- OCTB=${IPLO[1]}
- OCTC=${IPLO[2]}
- OCTD=${IPLO[3]}
- OCTAHI=${IPHI[0]}
- OCTBHI=${IPHI[1]}
- OCTCHI=${IPHI[2]}
- OCTDHI=${IPHI[3]}
- OCTDMAX=255
- FINISHED=0
- for i in 0 1 2 3
- do
- if [ -z "${IPLO[$i]}" ] || [ -z "${IPHI[$i]}" ]; then
- exit 1
- elif [ "${IPLO[$i]}" -gt "255" ] || [ "${IPHI[$i]}" -gt "255" ];then
- echo "You fucked up on your ip ranges"
- exit 1
- fi
- done
- until [ "$FINISHED" -eq "1" ]; do #check
- if [ "$OCTA" -eq "$OCTAHI" ] && \
- [ "$OCTB" -eq "$OCTBHI" ] && \
- [ "$OCTC" -eq "$OCTCHI" ]; then
- OCTDMAX=$OCTDHI
- fi
- while [ "$OCTD" -le "$OCTDMAX" ]; do
- echo "$OCTA.$OCTB.$OCTC.$OCTD" >> $4 #outputs ips into file
- if [ "$OCTA" -eq "$OCTAHI" ] && \
- [ "$OCTB" -eq "$OCTBHI" ] && \
- [ "$OCTC" -eq "$OCTCHI" ] && \
- [ "$OCTD" -eq "$OCTDHI" ]; then
- FINISHED=1
- fi
- OCTD=$(( $OCTD + 1 )) #changing value of variable
- done
- OCTC=$(( $OCTC + 1 ))
- OCTD="0"
- if [ "$OCTC" -gt "255" ]; then #check
- OCTB=$(( $OCTB + 1 ))
- OCTC="0"
- fi
- if [ "$OCTB" -gt "255" ]; then #check
- OCTA=$(( $OCTA + 1 ))
- OCTB="0"
- fi
- if [ "$OCTA" -gt "255" ]; then #check
- FINISHED=1
- fi
- done
- echo -e "\e[0;32mIPs Found:\e[1;37m $(cat $4 | wc -l)\e[1;37m"
- echo -e "\e[0;32mStarting Portscan!\e[1;37m"
- while IFS='' read -r line || [[ -n "$line" ]]; do
- if [[ $(nc -v -z -w 1 $line $3 | grep succeeded | grep -v time | grep -v fail) != "" ]]
- then
- echo "Host: $line | Port: $3" && echo $line >>$5 #prints ip w/ open port and sends ip to an active ip list
- fi
- done < "$4"
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment