Help() { echo "" echo "No arguments supplied - take this:" echo "" echo "expandcidr - A file with a scope list in CIDR notation is expanded " echo " to all possible IPs. It can also output instead a" echo "▅▅▅▅▅▅▅▅▅ a specified number of unique random IPs from the output" echo "▅▅▅▅▅▅▅▅▅ file (useful for sample testing, for ex.)." echo "▅▅▅▅▅▅▅▅▅ Script leverages on nmap - same scope list format" echo "▅▅▅▅ ▅▅▅▅ " echo "▅▅▅▅▅▅▅▅▅ Example: expandcidr scope.txt output.txt 4000" echo "" echo "Usage: expandcidr [input file] [output file] [optional-rnd-#-ips]" echo "" echo "" } while getopts ":h" option; do case $option in h) # display Help Help exit;; esac done if [ $# -eq 0 ] then Help exit 1 fi # command chain if [ -z $3 ] then nmap -sL -n -iL $1 | grep 'Nmap scan report for' | cut -f 5 -d ' ' > $2 else nmap -sL -n -iL $1 | grep 'Nmap scan report for' | cut -f 5 -d ' ' | shuf -n $3 > $2 fi