#!/bin/bash
##
# ip_list.txt 内容格式
# 10.0.0.101-123;10.1.0.200-203 TCP 8080
# 10.2.0.100 TCP 2121
##
function check_ip_item()
{
ip_item=$1
local_ip=$2
ip_item_temp=$(echo ${ip_item} | awk -F 'TCP' '{print $1 $2}')
ips=${ip_item_temp%% *}
port=${ip_item_temp##* }
OLD_IFS=$IFS
IFS=";"
ips_array=($ips)
IFS=${OLD_IFS}
for ip in ${ips_array[@]}
do
if [[ ${ip} == *'-'* ]]; then
ip_base=$(echo $ip| cut -d "." -f1-3)
ip_range=$(echo $ip | rev | cut -d "." -f1 | rev)
ip_min_range=${ip_range%%-*}
ip_max_range=${ip_range##*-}
for ((i=$ip_min_range;i<=$ip_max_range;i++))
do
ip_item=$ip_base.$i
echo "测试: 源[$local_ip] 目标[${ip_item}:${port}]"
curl $ip_item:$port -m 3
done
else
echo "测试: 源[$local_ip] 目标[${ip}:${port}]"
curl $ip:$port -m 3
fi
done
}
local_ip=$(ip addr | grep -Po "(?<=inet )(\d+\.){3}\d+(?=/\d+ brd)")
workdir=$(cd $(dirname "${BASH_SOURCE[0]}" ) && pwd)
IFS=$'\n'
for item in $(cat ip_list.txt )
do
check_ip_item ${item} ${local_ip}
done
核查端口开通情况脚本
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。