linux 常用工具

news/2024/10/20 21:31:08/

http负载测试工具

  1. vegeta
    echo “GET http://${VSIP}/” | /root/adauto/vegeta attack -rate=200 -duration=600s -keepalive=false -laddr ${ClientIP2}

  2. wrk

发包工具

  1. hyenae
    hyenae -I 6 -a icmp-echo -A 4 -s %-112.122.99.31 -d 80:61:5f:1a:f1:10-112.122.99.247

  2. py库 scapy
    from scapy.all import *

## 目标主机和端口
target_host = "192.168.1.100"
target_port = 80## 创建一个IP数据包
ip = IP(dst=target_host)## 创建一个TCP数据包
tcp = TCP(sport=RandShort(), dport=target_port, flags="S")## 组合IP和TCP数据包,构造SYN数据包
syn_packet = ip / tcp## 发送数据包
## verbose=0 表示不打印发送数据包的详细信息
send(syn_packet, verbose=0)

异常场景测试

  1. /proc/sysrq-trigger 详解
    https://cloud.tencent.com/developer/article/2139743?areaSource=102001.1&traceId=XeUXGphevY9HsHXPoXgUn

stap 工具使用

stap -g -v test.stp -r 4.18.0-372.19.1.40.po1.x86_64 --tmpdir=“/root/” -m xx.ko
stap -v -e ‘probe vfs.read {printf(“read performed”); exit()}’ -r 4.18.0-372.19.1.40.po1.x86_64 --tmpdir=“/root/” -m xx.ko

frace

ftrace是Linux内核自带的一种跟踪工具,可以用于跟踪内核代码的执行情况。下面是使用ftrace跟踪内核代码的步骤:

确认内核支持ftrace功能。可以通过检查/proc/config.gz文件或者内核编译配置文件来确认。

打开ftrace功能。可以通过以下命令打开ftrace功能:

echo 1 > /sys/kernel/debug/tracing/tracing_on
选择跟踪事件。可以通过以下命令选择需要跟踪的事件:

echo $PID > /sys/kernel/debug/tracing/set_ftrace_pid
选择要跟踪的进程。可以使用以下命令选择要跟踪的进程

echo function > /sys/kernel/debug/tracing/current_tracer
这里选择的是函数调用事件,也可以选择其他事件,如系统调用、中断等。

选择需要跟踪的函数。可以通过以下命令选择需要跟踪的函数:

echo function_name > /sys/kernel/debug/tracing/set_ftrace_filter
这里的function_name是需要跟踪的函数名,也可以使用通配符来匹配多个函数。

查看跟踪结果。可以通过以下命令查看跟踪结果:

cat /sys/kernel/debug/tracing/trace
这里会输出跟踪结果,包括每个函数的调用时间、调用次数等信息。

关闭ftrace功能。可以通过以下命令关闭ftrace功能:

echo 0 > /sys/kernel/debug/tracing/tracing_on
以上是使用ftrace跟踪内核代码的基本步骤,可以根据需要进行调整和扩展。

bpf

wget http://build.platos.sangfor.org/repo/PlatOS/platos-1.3_xs/os/update/debuginfo/x86_64/Packages/kernel-debuginfo-common-x86_64-4.18.0-372.32.1.82.po1.x86_64.rpm
rpm -i kernel-debuginfo-common-x86_64-4.18.0-372.32.1.82.po1.x86_64.rpm
wget http://build.platos.sangfor.org/repo/PlatOS/platos-1.3_xs/os/update/debuginfo/x86_64/Packages/kernel-debuginfo-4.18.0-372.32.1.82.po1.x86_64.rpm
rpm -i kernel-debuginfo-4.18.0-372.32.1.82.po1.x86_64.rpm
安装bpftrace
dnf install -y bpftrace
bpftrace trace.bt
https://github.com/iovisor/bpftrace 各种bpf的例子

自动化

airflow 官网文档 https://airflow.apache.org/docs/apache-airflow/stable/start.html


http://www.ppmy.cn/news/1511670.html

相关文章

Vite 与 Vue:分开的发展路径

目录 Vue 的角色 Vite 的崛起 Vite 的特点 Vite 与 Vue 的合作 设计理念 技术优势 使用场景 生态系统 未来方向 在前端开发的领域,Vue 和 Vite 常常被提及。然而,尽管它们有着共同的起源,它们的功能和目标却是独立的。在这篇博客中&…

前端宝典之六:React源码解析之lane模型

本文主要内容: 介绍lane模型 一、 lane模型 lane模型就是react优先级的机制,可以用来 可以表示优先级的不同可能同时存在几个同优先级的更新,所以还得能表示批的概念方便进行优先级相关计算 1、表示优先级不同 lane模型使用31位的二进制…

机器学习(5)--正则化之L1和L2正则化

文章目录 正则化一、正则化的基本原理二、L1正则化(Lasso)三、L2正则化(Ridge)四、L1与L2正则化的比较 总结 正则化 正则化是一种在机器学习和深度学习中常用的技术手段,旨在提高模型的泛化能力,减少过拟合…

仿RabbitMq实现简易消息队列正式篇(消费者篇)

TOC消费者管理模块 客户端由两种:发布消息,订阅消息 因此订阅了指定队列消息的客户端才是一个消费者。 消费者数据存在的意义:当指定队列有了消息以后,就需要将消息推送给这个消费者客户端(推送的时候就需要找到这个…

数据结构与算法 - 双指针

一、移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12]输出: [1,3,12,0,0]示例 2: 输入: nums …

HTTP/1.1

目录 一、比较HTTP/1.0的优点 二、请求报文 1.请求报文 (1)格式 2.get请求 (1)请求行 (2)请求头 (3)请求体 3.post请求 (1)请求行 (2&…

Gene_processing_system-v2.0使用之环境变量配置

Gene_processing_system-v2.0环境变量配置 在D盘路径解压上述文件《Gene_processing_system-v2.0.zip》,解压后,对内置Python3.9环境变量进行配置。操作如下: 环境变量配置 第一步:复制python3.9路径值,复制路径值为…

使用Dynamic Provision的PV需要Kubernetes集群管理员和用户分别做什么?

使用Dynamic Provision的PV需要Kubernetes集群管理员和用户分别做什么? A. Kubernetes集群管理员创建不同类型存储所需的不同的StorageClass对象 B. 用户创建PVC对象声明存储需求,并在PVC对象中通过storageClassName字段说明需要的存储类型 C. 用户在Pod…