
用来执行
toast.py
系统环境(这里只列举我自己的环境用作参考,其他系统和内核需要自行匹配)
- os:
ubuntu 23
- 内核版本:
6.5.0-14-generic
(需要 >=5.10
) - python:
3.11.6
(最好 >=3.10
,ubuntu 23 自带 3.11.6)
安装依赖
sudo apt-get install bpfcc-tools linux-headers-$(uname -r)
执行 toast.py
- 挂到根 cgroup:
sudo python3 toast.py --ip 12.23.34.45
,至此,本机所有 TCP 请求均会携带TOA
- 如果你只想影响限定的进程,可以创建一个 cgroup,然后用
--cg
来指定:- 运行:
sudo python3 toast.py --ip 12.23.34.45 --cg toast
- 再另外打开一个终端
- 新建一个名叫
toast
的 cgroup:sudo mkdir /sys/fs/cgroup/toast
- 将当前的 bash 挂到新建的 cgroup 里:
sudo sh -c "echo $$ > /sys/fs/cgroup/toast/cgroup.procs"
- 至此,新建的终端内执行的任意命令会受到
toast.py
的影响;当然,你也可以选择将其他进程放到新建的 cgroup 里
- 运行:
用来验证 TOA 插入成功
注意toa.ko
模块,因此在 toast 执行时需要修改 to 类型为 200
:
sudo python3 toast.py --ip 12.23.34.45 --tot 200
- 安装
toa.ko
:bash -c "$(curl -fsSL https://thunder-pro-mainland-1258348367.cos.ap-guangzhou.myqcloud.com/TOA/compile_install_toa.sh)
,或者见 tencentyun 的教程 - 确认
toa.ko
载入成功:lsmod | grep toa
- 安装 nginx:
sudo apt install nginx -y
- 确认已启动:
sudo systemctl status nginx
- 查看 nginx 日志:
tail -f /var/log/nginx/access.log
- 发起测试请求:
curl 127.0.0.1
Copyright © 2023 Macr0phag3.
This project is MIT licensed.