如何用Shell脚本来解决DOS安全Linux服务器生产
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,今天就跟大家聊聊有关如何用Shell脚本来解决DOS安全Linux服务器生产,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。导读在计算机科学中,
千家信息网最后更新 2025年12月02日如何用Shell脚本来解决DOS安全Linux服务器生产
今天就跟大家聊聊有关如何用Shell脚本来解决DOS安全Linux服务器生产,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
| 导读 | 在计算机科学中, Shell俗称壳(用来区别于核),是指"为使用者提供操作界面"的软件( 命令解析器);它类似于DOS下的command.com和后来的cmd.exe;它接收用户 命令,然后调用相应的应用程序。 |
根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频率每隔3分钟。
防火墙命令为:
iptables -I INPUT -s 10.0.0.10 -j DROP
先来Web日志
开发思路分析:
1、分析出IP地址,然后去重,搞定各个IP的访问次数,可以放到文件里。
[root@oldboy scripts]# awk '{print $1}' access_2010-12-8.log|sort|uniq -c|sort -rn|head 35 59.33.26.105 23 123.122.65.226 8 124.115.4.18[root@oldboy scripts]# awk '{S[$1]++}END{for(k in S) print S[k],k}' access_2010-12-8.log|sort -rn|head35 59.33.26.10523 123.122.65.2268 124.115.4.18IP的访问次数到100,就封掉
需要if条件句
读1的去重结果文件,可用while
最终答案
[root@oldboy scripts]# cat exam05.sh#!/bin/bashwhile truedo awk '{S[$1]++}END{for(k in S) print S[k],k}' access_2010-12-8.log|sort -rn|head >/tmp/ip.log while read line do ip=`echo $line|awk '{print $2}'` count=`echo $line|awk '{print $1}'` if [ $count -ge 36 -a `grep -w "$ip" /tmp/drop_$(date +%F).ip|wc -l` -lt 1 ] then iptables -I INPUT -s $ip -j DROP && echo -e "$ipt `date +%F`" >>/tmp/drop_$(date +%F).ip fi done /tmp/ip.log sleep 5done如果是网络日志
从生产环境拉取netstat.log测试
[root@oldboy scripts]# awk -F "[ :]+" '/EST.*$/{print $(NF-3)}' netstat.log |awk '{S[$1]++}END{for(k in S)print S[k],k}'|sort -rn|head4 118.242.18.1773 123.6.8.2233 114.250.252.1272 123.244.104.422 121.204.108.1601 59.53.166.1651 58.45.107.1891 42.95.73.1521 42.196.246.1801 36.46.160.100如果是工作中可以netstat -an|awk -F "[ :]+" '/EST.*$/{print $(NF-3)}'分析
最终答案
[root@oldboy scripts]# cat exam05.sh#!/bin/bashwhile truedo awk -F "[ :]+" '/EST.*$/{print $(NF-3)}' netstat.log |awk '{S[$1]++}END{for(k in S)print S[k],k}'|sort -rn|head >/tmp/ip.log while read line do ip=`echo $line|awk '{print $2}'` count=`echo $line|awk '{print $1}'` if [ $count -ge 36 -a `grep -w "$ip" /tmp/drop_$(date +%F).ip|wc -l` -lt 1 ] then iptables -I INPUT -s $ip -j DROP && echo -e "$ipt `date +%F`" >>/tmp/drop_$(date +%F).ip fi done /tmp/ip.log sleep 5done看完上述内容,你们对如何用Shell脚本来解决DOS安全Linux服务器生产有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
命令
生产
内容
日志
分析
安全
服务器
脚本
服务
文件
次数
答案
网络
防火墙
监控
防火
使用者
句读
地址
应用程序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
所有的建筑有没有数据库
我的世界空岛战争双人服务器
内网的数据库怎么复制
路由器服务器拒绝连接怎么办
报社管理系统软件开发难吗
羽毛球管理系统数据库设计
央视软件开发
影流服务器在哪里
数据库自增id回滚
网络安全故事30字
搞定数据库事务
表单大师怎么收集数据库
软件开发中遇到最坑的事是什么
我的世界中国版服务器清理指令
服务器 远程登录密码
河北文档软件开发哪家快
昆明软件开发公司招聘待遇
义乌哪有软件开发培训机构
我的世界虚空服务器
在西安兼职的软件开发
wfr5620改无线打印服务器
pythonweb数据库
制药企业不良反应数据库
衡南网络安全专项检查
如何配置服务器型号参数
jsp连接服务器
定向士官网络技术有前途吗
查询话费余额显示服务器无法连接
域辅助服务器
黄浦区推广网络技术创造辉煌