千家信息网

shell 脚本应用《三》监控当某个IP并发连接数

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,根据web日志或者网络连接数,监控当某个IP并发连接数或者段时间内PV连接到达100及使用防火墙命令封堵对应的IP,监控频率每隔3分钟;防火墙命令为:iptables -A INPUT -s 192.
千家信息网最后更新 2025年01月23日shell 脚本应用《三》监控当某个IP并发连接数

根据web日志或者网络连接数,监控当某个IP并发连接数或者段时间内PV连接到达100及使用防火墙命令封堵对应的IP,监控频率每隔3分钟;防火墙命令为:iptables -A INPUT -s 192.168.0.7 -j DROP
查看防火墙iptables -L -n

第一种:监控日志

#!/bin/sh
while true
do
cat access_log.dms|awk '{print $1}'|sort|uniq -c|sort -nr > a.log
exec< a.log
while read line
do
pv=$(echo $line|awk '{print $1}')
ip=$(echo $line|awk '{print $2}')
if [ $pv -gt 1000 ]&& [ iptables -L -n|grep "$ip"|wc -l -eq 0 ];then
iptables -A INPUT -s $ip -j DROP
fi
done
sleep 180
done

说明:

while读文件的写法
1)cat al.log|while read line
do
done

2)execwhile read line
do
done

3)while read line
do
done

sort sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
-n 按数字进行排序
-r 反向排序
-f会将小写字母都转换为大写字母来进行比较,亦即忽略大小写
uniq 命令 去重
-c 在每一行加上重复的次数
sort -t -k 参数
-t : tables 指定分隔符,默认tab为分隔符
-k: 指定安装哪一个分割区域进行排序

[rocrocket@rocrocket programming]$ cat facebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4
[rocrocket@rocrocket programming]$ sort -n -k 2 -t : facebook.txt
#-n 按照数字进行排序
#-t 此例中指定 : 为分隔符
#-k 此例中按照分割的第二区域进行排序
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3
iptables 防火墙
iptables -L -n|grep "$ip"|wc -l 查看相关IP在防火墙里是否有封堵

第二种:监控ip连接数

#!/bin/sh
while true
do
netstat -an|grep EST|awk -F '[ :]+' '{print $6}'|sort|uniq -c >a.log
exec< a.log
while read line
do
pv=$(echo $line|awk '{print $1}')
ip=$(echo $line|awk '{print $2}')
if [ $pv -gt 1000 ]&& [ iptables -L -n|grep "$ip"|wc -l -eq 0 ];then
iptables -A INPUT -s $ip -j DROP
fi
done
sleep 180
done

说明:
netstat -an|grep EST|awk -F '[ :]+' '{print $6}'|sort|uniq -c >a.log

netstat命令

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

命令 防火墙 排序 防火 监控 数字 分隔符 一行 信息 区域 字母 文件 日志 时间 状态 路由 中指 写法 别名 升序 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳通讯软件开发供应商 石家庄网络技术培训机构 堡塔远程工具怎么修改服务器密码 饿了么服务器未知异常 我的世界手机版无管理员服务器 网络安全法是第几号主席令内容 网络安全意识对照检查 网络技术和多媒体技术去呗 服务器机房管理员职责 我的世界1.18服务器开荒 网易mc服务器 山东会考网络技术应用操作题 东湖评论时刻绷紧网络安全之弦 台湾服务器怎么设置安全 苏州通信网络技术有限公司 旧amd电脑做存储服务器 天龙八部风起汴京服务器开区时间 湖南美英网络技术 网络安全目标4个方面 服务器管理口用户名和密码 常州直销软件开发创新服务 海康服务器怎么维修 服务器硬件检修 软件开发工程师近几年的发展 数据库只查询一条记录的语句是 如何选亚马逊服务器 4g网络技术和主要制式 怎么看明星数据库 软件开发工程师有哪几个岗位 互联网金融科技基金有哪些
0