当前位置: 首页 > news >正文

公司网站开发实施方案网站设计制作一条龙

公司网站开发实施方案,网站设计制作一条龙,怎么做充值网站,在元典公司做网站有合同吗使用 python 检测泛洪攻击的案例 本案例只使用python标准库通过执行命令来监控异常请求, 并封锁IP, 不涉及其他第三方库工具. import os import time from collections import Counter# 1、update 命令, 采集CPU的平均负载 def get_cpu_load():"""uptime 命令…

使用 python 检测泛洪攻击的案例

本案例只使用python标准库通过执行命令来监控异常请求, 并封锁IP, 不涉及其他第三方库工具.

import os
import time
from collections import Counter# 1、update 命令, 采集CPU的平均负载
def get_cpu_load():"""uptime 命令获取系统开机时间和cpu负载, 比如:04:02:00 up 1 day,  3:49,  1 user,  load average: 0.71, 0.48, 0.46利用awk命令来筛选出CPU负载:-F 设置拆分数据的分隔符 ': ', 如果不设置默认以空格作为分隔符'{print $2}' 表示打印第二列数据"""cpu_load = os.popen("uptime | awk -F ': ' '{print $2}' | awk -F ',' '{print $1}'").read()cpu_load = float(cpu_load)return cpu_load# 2、netstat 命令, 采集 tcp 的连接数量
def get_conn_count():"""统计所有tcp连接数量-a 列出所有, -n 以数字形式显示端口, -t tcpwc -l 统计行数"""netstat = os.popen('netstat -ant | wc -l').read()return int(netstat)# 3、ss命令, 采集socket统计信息,
"""
ss命令比netstat命令更详细, 速度更快
端口队列默认大小是128, 当 Recv-Q 大于等于 Send-Q 时表示队列满了, 端口存在大量请求
"""
def get_queue_size():"""统计当前的队列情况-l 监听状态, -n 以数字显示, -t tcp"""# ss -lnt | grep :80 | awk '{print $2}' # 第二列是 Recv-Q# ss -lnt | grep :80 | awk '{print $3}' # 第三列是 Send-Qsslnt = os.popen("ss -lnt | grep :80").read()recv_q = int(sslnt.split()[1])send_q = int(sslnt.split()[2])return recv_q, send_q# 4、netstat 命令, 采集连接数量最多的IP地址
def get_most_ip():"""获取当前连接数量最多的IP地址"""# 获取所有访问 80 端口的ip添加到列表中result = os.popen('netstat -ant | grep :80').read()line_list = result.split('\n')ip_list = []for line in line_list:try:temp_list = line.split()ip = temp_list[4].split(':')[0]ip_list.append(ip)except Exception as e:pass# 统计列表中出现最多的ipcnt = Counter(ip_list)# most_common(n) 返回出现次数最多的前n项元组组成的列表t = cnt.most_common(1)return t[0][0]# 5、firewall-cmd 命令, 防火墙封锁IP地址
def firewall_ip(ip):"""使用防火墙封锁ip:param ip: 封锁目标ip"""result = os.popen(f"firewall-cmd --add-rich-rule='rule family=ipv4 source address={ip} port port=80 protocol=tcp reject'").read()if 'success' in result:print(f"成功封锁 {ip}.")else:print(f"封锁失败.")if __name__ == '__main__':while 1:cpu = get_cpu_load()conn = get_conn_count()recvq, sendq = get_queue_size()print(f"CPU-Load: {cpu}, TCP Conn: {conn}, TCP Queue: {recvq, sendq}")# 对采集到的数据进行判断,并进行预警提醒, 封锁ipif cpu > 55 and conn > 500 and recvq > sendq - 10:ip = get_most_ip()print(f"预警,可疑IP:{ip}.")firewall_ip(ip)time.sleep(5)
http://www.ds6.com.cn/news/1655.html

相关文章:

  • 做英语翻译赚钱的网站搜索引擎优化排名优化培训
  • 在自己网站上做销售在工商要办什么手续seo外贸公司推广
  • 做套现网站免费收录链接网
  • 网站404页面怎么做百度网络优化推广公司
  • 给网站做压力测试微信营销号
  • 搜狐一开始把网站当做什么来做semir森马
  • 做国外网站的公证要多少钱如何做网页链接
  • 企业网站建设有几种新手怎样做网络推广
  • 网站备案要拍照大家怎么做的啊写一篇软文多少钱
  • 科技通信网站模板下载培训网络营销的机构
  • 龙岗外贸网站建设2023国内外重大新闻事件10条
  • 网站建设需要哪些功能搜索广告是什么意思
  • 深圳有做网站公司百度知道问答首页
  • html静态页面模板宁波seo关键词优化制作
  • 政府网站建设关乎广州seo推广公司
  • 上海鸿鹄设计公司seo网络优化招聘
  • 流量统计网站推广法新手如何涨1000粉
  • 苏州网站制作哪家靠谱百度推广计划
  • 手机网站建设林肖网站seo推广seo教程
  • discuz 做企业网站网站建设流程图
  • 怎么样在b2b网站做推广沈阳网站seo
  • 公司网站建设和推广广州seo网站推广平台
  • 在线免费建网站app推广员怎么做
  • 电商平台网站建设功能介绍网络营销计划书怎么写
  • 深圳建设管理中心网站百度贴吧入口
  • 海口智能建站详情本地免费发布信息网站
  • 汕头公司做网站ue5培训机构哪家强
  • 南宁建站服务公司之app推广渠道在哪接的单子
  • 新疆建设云网站办理程序百度竞价推广运营
  • 一般设计网站页面用什么软件seo怎么搞