Files
docker_yoba_task/scripts/block_port.sh
2024-11-08 21:18:34 +03:00

30 lines
918 B
Bash
Executable File

#!/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