Created
March 9, 2021 04:07
-
-
Save jayliew/7c0a829f8dd2e639d809cf2da2f4bcf5 to your computer and use it in GitHub Desktop.
network scan script using nc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
echo "First 3 IP octets: " | |
read net | |
echo "Start IP (last octet): " | |
read start_octet | |
echo "End IP (last octet): " | |
read end_octet | |
echo "[b]readth (a few ports) or [d]epth (large port range) port scan? Enter 'b' or 'd': " | |
read bdport | |
# default port list | |
bp_arr=(21 22 23 25 53 80 8080) | |
if [ -z $bdport ] || [[ $bdport == "b" ]] ; then | |
bdport="b" # default to breadth | |
elif [[ $bdport == "d" ]] ; then | |
echo "Start port: " | |
read sport | |
echo "End port: " | |
read eport | |
fi | |
echo "IP addr direction. 'r' for reverse. Enter for default (sequential): " | |
read direction | |
if [ -z $direction ] ; then | |
: | |
elif [[ $direction == "r" ]] ; then | |
tmp_octet=$start_octet | |
start_octet=$end_octet | |
end_octet=$tmp_octet | |
fi | |
if [[ $bdport == "b" ]] ; then | |
outfile="nc_${net}.${start_octet}-${end_octet}_bports" | |
elif [[ $bdport == "d" ]] ; then | |
outfile="nc_${net}.${start_octet}-${end_octet}_ports_${sport}-${eport}" | |
fi | |
echo "Output: $outfile" | |
echo "Scan range: $net .$start_octet - $end_octet" | |
for ((i=$start_octet; $i <=$end_octet; i++)) | |
do | |
if [[ $(($i % 10)) == 0 ]]; then | |
echo "Scanning $net.$i ..." | |
fi | |
if [ -z $bdport ] || [[ $bdport == "b" ]] ; then | |
for bport in "${bp_arr[@]}"; do | |
nc -nvzw 1 $net.$i $bport 2>&1 | grep -E '[Oo]pen|[Ss]ucce' >> $outfile | |
done | |
elif [[ $bdport == "d" ]] ; then | |
for ((p=$sport; p <= $eport; p++)) | |
do | |
nc -nvzw 1 $net.$i $p 2>&1 | grep -E '[Oo]pen|[Ss]ucce' >> $outfile | |
done | |
fi | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment