用来执行
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.