iptables脚本封ip
2024-08-31 20:48:04
##自动封IP:分析web或应用日志或者网络连接状态封掉垃圾IP
#!/bin/sh
/bin/netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -rn|head -|grep -v -E '192.168|127.0'|awk '{if ($2!=null && $1>4) {print $2}}'>/home/shell/dropip
for i in $(cat /home/shell/dropip)
do
/sbin/iptables -I INPUT -s $i -j DROP
#-m limit --limit /min --limit-burst
echo "$i kill at `date`">>/var/log/ddos
done #!/bin/sh
## search connection established ips
netstat -an |grep EST|awk -F " " '{print $5}' |cut -d ":" -f4 |grep "[0-9]*.[0-9]*.[0-9]*.[0-9]*" |sort |uniq -c |sort -rn |head - >/home/shell/ip_connection.log
## drop ips
cat /home/shell/ip_connection.log |egrep -v "[a-z][A-Z]*" |egrep -v "202.165|192.168|127.0"|while read line
do
count=`echo $line|awk '{print $1}'`
ip=`echo $line|awk '{print $2}'`
if [ $count -ge ]
then
echo "all establish status connection > 100 ip is : $ip"
echo "apply rule ,drop $ip access 100 !"
/sbin/iptables -I INPUT -s $ip -p tcp --dport -j DROP
/sbin/service iptables save
fi
done
最新文章
- React 开发注意事项,注意点
- Linux设备驱动剖析之Input(三)
- 使用XIB实现一个简单view
- UIWebview 禁止某个方向滚动
- 批处理协同blat自动发邮件
- Java入门(3)—— 数组
- Ajax 调用webservice 解决跨域请求和发布到服务器后本地调用成功外网失败的问题
- VC连接MySql
- mssql sqlserver 关键字 GROUPING用法简介及说明
- ES优化总结
- Mesos的用途
- UVA 10815 Andy's First Dictionary【set】
- scrapy面试一
- springmvc下载文件
- 说说Cookie和Session
- Spring框架整合Struts2框架的传统方法
- 开源WebGIS实施方案(四):GeoServer发布PostGIS数据
- 基础概念——何为GNU与GCC
- mysql查询最近7天的数据,没有数据自动补0
- leetcode-475-Heaters
热门文章
- vmware中centos、redhat桥接网络配置
- oracle函数 SESSIONTIMEZONE
- 解决ubuntu的Idea启动No JDK found. Please validate either IDEA_JDK, JDK_HOME or JAVA_HOME environment variable points to valid JDK installation.
- 5款实用的jQuery验证码插件
- H3C 配置帧中继交换
- CountableThreadPool
- ES6 set和map数据结构对对象数组去重简单实现
- 【js】vue 2.5.1 源码学习 (十) $mount 挂载函数的实现
- P1000 A+B Problem
- BAT 脚本判断当前系统是 x86 还是 x64 系统