add .env & block_port.sh

This commit is contained in:
2024-11-08 21:18:34 +03:00
parent f4f2239c3b
commit ff77ed1204
2 changed files with 31 additions and 0 deletions

2
scripts/.env Normal file
View File

@@ -0,0 +1,2 @@
OPEN_PORT_SEQ="8100, 7200, 13000"
CLOSE_PORT_SEQ="6300, 5200, 12001"

29
scripts/block_port.sh Executable file
View File

@@ -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