快速建设企业网站,软件营销网站建设,网站推广的短视频推广,网站防站文章目录 注意事项1. 地址列表填写规范2. 代码块3. 执行结果4. 地址与端口获取方法4.1 tcpdump抓包分析#xff08;推荐使用#xff09;4.2 TCP连接分析#xff08;仅能识别TCP连接#xff09; 注意事项
请务必按照格式填写具体参数#xff0c;否则会影响到匹配规则的创建… 文章目录 注意事项1. 地址列表填写规范2. 代码块3. 执行结果4. 地址与端口获取方法4.1 tcpdump抓包分析推荐使用4.2 TCP连接分析仅能识别TCP连接 注意事项
请务必按照格式填写具体参数否则会影响到匹配规则的创建严重时会影响到业务流量请务必按照格式填写具体参数否则会影响到匹配规则的创建严重时会影响到业务流量请务必按照格式填写具体参数否则会影响到匹配规则的创建严重时会影响到业务流量 1. 地址列表填写规范
ip.txt文件内容填写案例
ip port # 单个地址和单个端口格式
ip port1,port2... # 单个地址和多个端口格式
ip/net port # 网段地址和单个端口格式
ip/net port1,port2... # 网段地址和多个端口格式地址文件名称为ip.txt若需替换则修改代码块第9行if test -s ./ip.txt;处ip.txt即可多个IP地址请务必隔行输出请使用英文半字符格式输入配置添加IP地址不可重复但支持包含关系支持CIDR格式添加IP地址多个端口使用 [逗号] 间隔IP地址与端口之间使用 [空格] 字符进行间隔。若不了解该服务可先查阅iptables服务详解
2. 代码块
#!/bin/bashfile_path$(dirname $0)
cd $file_pathchainIP_WHITELIST # 创建链名称为:IP_WHITELIST
ip_listif test -s ./ip.txt; thencat ip.txt | awk {print$1} ./ip_temp.txt # IP地址去重ip_list($(sort -u ./ip_temp.txt))rm -f ./ip_temp.txt
fifunction create_rule(){# 注意iptables插入顺序iptables -w -t filter -N $chain # 创建新链iptables -w -t filter -I $chain -j DROP # 匹配所有流量执行动作拒绝for ip in ${ip_list[]}; dodportscat ip.txt | grep $ip | awk {print$2}if [ -z $dports ]; then # 判断端口列表是否为空iptables -w -t filter -I $chain -s $ip -j ACCEPTelseiptables -w -t filter -I $chain -s $ip -p tcp -m multiport --dports $dports -j ACCEPTfidoneecho -e \033[32miptables service rule crete complete!\033[0m
}function delete_rule(){# 清理iptables创建的匹配规则while iptables -w -t filter -D INPUT -p tcp -j $chain 2/dev/null; do # 忽略删除匹配规则错误信息sleep 0.1s done# iptables -w -t filter -F $chain 2/dev/nulliptables -w -t filter -X $chain 2/dev/nullecho -e \033[32miptables service rule cleanup complete!\033[0m
}function backup_rule(){# 备份当前环境下iptables规则到指定目录下临时文件iptables-save ./iptables_bk_$(date %Y-%m-%d %H:%M:%S) # 以时间指定文件名称echo -e \033[32miptables service rule backup complete,path is $file_path/iptables_bk_local_time\033[0m
}case ${1:-help} in create )# 先备份规则再清理规则后创建新规则backup_rule delete_rule create_rule;;delete )# 先备份规则再清理规则backup_rule delete_rule;;backup )# 直接备份规则backup_rule;;* )# 可用参数说明echo -e \033[31m Usage: \n\t$0 options is [create/delete/backup/help]\033[0m;;
esac3. 执行结果 ip.txt配置参考
4. 地址与端口获取方法
4.1 tcpdump抓包分析推荐使用
tcpdump -i any -s56 -lnnqt inbound and (dst port 2181 or dst port 2888 or dst port 3888) | cut -d. -f1-4 | awk !a[$NF] {print $NF; fflush();} | tee file_path/ip.txt命令解析
tcpdumo-i any 抓取所有接口数据包-s56 截取报文前56字节内容-lnnqt 使用数字格式显示IP地址和端口号inbound 只抓取入站数据包dst port 目标端口列表cut切割出IP地址awk对每个IP地址进行去重操作
4.2 TCP连接分析仅能识别TCP连接
ss -nat | grep -E :2181|2888|3888 | awk {print $NF} | grep -Eo ([0-9]{1,3}[\.]){3}[0-9]{1,3} | awk !a[$0] | tee file_path/ip.txt命令解析
ss查找当前系统中所有TCP连接的状态信息并同时过滤端口awk第一个为输出最后一行信息并过滤出IP地址第二个为对每个IP地址进行去重操作