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

5.88 BCC工具之tcpsynbl.py解读

一,工具简介

tcpsynbl工具以直方图的形式显示SYN到达时的TCP SYN积压大小。这可以让我们了解应用程序距离达到积压限制并丢弃SYN(导致SYN重传产生性能问题)还有多远。

TCP SYN 数据包则通常用于启动 TCP 三次握手过程的第一次握手。

二,代码示例

#!/usr/bin/env pythonfrom __future__ import print_function
import argparse
from bcc import BPF
from time import sleep# load BPF program
bpf_text = """
#include <net/sock.h>typedef struct backlog_key {u32 backlog;u64 slot;
} backlog_key_t;BPF_HISTOGRAM(dist, backlog_key_t);int do_entry(struct pt_regs *ctx) {struct sock *sk = (struct sock *)PT_REGS_PARM1(ctx);backlog_key_t key = {};key.backlog = sk->sk_max_ack_backlog;key.slot = bpf_log2l(sk->sk_ack_backlog);dist.atomic_increment(key);return 0;
};
"""
examples = """examples:./tcpsynbl          # trace syn backlog./tcpsynbl -4       # trace IPv4 family only./tcpsynbl -6       # trace IPv6 family
http://www.lryc.cn/news/325833.html

相关文章:

  • GVRP实现vlan的自动创建和注册
  • Oracle VM VirtualBox修改磁盘大小
  • 【嵌入式硬件】步进电机
  • FlyControls 是 THREE.js 中用于实现飞行控制的类,它用于控制摄像机在三维空间中的飞行。
  • 【Java程序设计】【C00366】基于(JavaWeb)Springboot的纹理生产图片系统(有论文)
  • 编译原理Lab. 1 初代编译器实验说明和要求
  • python判断工作日,节假日
  • 练习4-权重衰减(李沐函数简要解析)
  • websocket 中 request-line 中的URI编码问题
  • 为何ChatGPT日耗电超50万度?
  • __init__.py 的作用
  • Redis到底是多线程还是单线程?
  • JAVA 100道题(18)
  • 【C++】每日一题 137 只出现一次的数字
  • RAG进阶笔记:RAG进阶
  • 《论文阅读》带边界调整的联合约束学习用于情感原因对提取 ACL 2023
  • 【微服务】接口幂等性常用解决方案
  • RocketMQ学习笔记:零拷贝
  • 3.26日总结
  • 应用日志集成到ElasticSearch
  • MySQL多表联查函数
  • JAVAEE—实现多线程版本的定时器
  • KY228 找位置(用Java实现)
  • 物联网边缘网关有哪些优势?-天拓四方
  • 【C++】6-2 交换函数2 分数 10
  • kafka 01
  • Linux离线安装Docker-Oracle_11g
  • web前端3.19
  • Rust 函数体内能定义数据类型或者做其他什么事情吗?
  • flask_restful结合蓝图使用