From ff77ed12047ae4e01fe7fd14123f85d727c0a5a0 Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 8 Nov 2024 21:18:34 +0300 Subject: [PATCH] add .env & block_port.sh --- scripts/.env | 2 ++ scripts/block_port.sh | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 scripts/.env create mode 100755 scripts/block_port.sh 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 +