diff --git a/scripts/.env b/scripts/.env new file mode 100644 index 0000000..b498495 --- /dev/null +++ b/scripts/.env @@ -0,0 +1,2 @@ +OPEN_PORT_SEQ="8100, 7200, 13000" +CLOSE_PORT_SEQ="6300, 5200, 12001" diff --git a/scripts/block_port.sh b/scripts/block_port.sh new file mode 100755 index 0000000..362719d --- /dev/null +++ b/scripts/block_port.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +source .env # load vars from .env file + +case "${1}" in + search ) + # load container ip in array IPs + mapfile IPs < <( nmap 172.28.0.2-10 -sn | grep "ngx" | awk '{print substr($6, 2, length($6)-2)}') + # using 'tr' for escape bug with \n in array elements + echo "IPs=( $(echo ${IPs[@]} | tr '\n' ' '))" >> .env + ;; + block ) + echo "knock -v ${IPs[$2]} $(echo ${CLOSE_PORT_SEQ} | sed 's/,//g')" + knock -v ${IPs[$2]} $(echo ${CLOSE_PORT_SEQ} | sed 's/,//g') + ;; + open ) + echo "knock -v ${IPs[$2]} $(echo ${OPEN_PORT_SEQ} | sed 's/,//g')" + knock -v ${IPs[$2]} $(echo ${OPEN_PORT_SEQ} | sed 's/,//g') + ;; + list ) + # print array IPs + numb=0 # counter var + for ip in "${IPs[@]}"; do + echo "${numb}: ${ip}" # add index array element + numb=$((${numb}+1)) + done + ;; +esac +