nettrace
nettrace copied to clipboard
nettrace is a eBPF-based tool to trace network packet and diagnose network problem.
我是一名内核开发的初学者。 我的操作系统是ubuntu20.04,内核是**由源码编译来的Linux-5.15-132版本**,并且我对内核源代码进行了少量修改。 在终端输入`cat /boot/config-$(uname -r) | grep CONFIG_DEBUG_INFO_BTF`,显示`CONFIG_DEBUG_INFO_BTF=y`,我想这意味着我的内核**支持BTF**。 之后我尝试基于docker编译nettrace,就像README中的2.4小节一样,我编写了如下的Dockerfile: ``` FROM imagedong/nettrace-build:latest COPY nettrace /root/nettrace RUN chmod -R 777 /root/nettrace \ && make -C /root/nettrace/ all CMD ["/bin/bash", "-c", "while...
我看了下如果开启gso,内核函数skb_segment也可能会产生新skb,在trace.yaml中只分析了skb_clone,skb_segment是否也要考虑
PID: 29614 (nettrace) UID: 0 (root) GID: 0 (root) Signal: 11 (SEGV) Timestamp: Mon 2024-01-15 16:47:11 CST (1h 54min ago) Command Line: nettrace --port 22 Executable: /usr/bin/nettrace Control Group: /user.slice/user-0.slice/session-17.scope...
Hi: 目前似乎没有办法显示主机发出去的包是哪个ip rule 策略路由的table选中。这样对于配置路由表不是很方便,希望nettrace能显示 具体哪个路由表被选中而输出 
nettrace version: v1.2.6. cpu:loongarch kernel:4.19 version # ./nettrace -p icmp --debug DEBUG: command: mount | grep debugfs, status:0 DEBUG: command: cat /sys/kernel/debug/tracing/events/skb/kfree_skb/format 2>/dev/null | grep NOT_SPECIFIED, status:0 DEBUG: trace name=tcp_ack_probe,...
这个工具支持交叉编译吗?我想在嵌入式设备上进行使用,但是我阅读了您的makefile后没有找到任何可以配置交叉工具链内容,我尝试使用交叉工具链直接去编译,出现了如这种在交叉工具链中没有的头文件错误
nettrace/shared/bpf_utils.h:55:9: error: ‘BPF_FUNC_get_func_ret’ undeclared (first use in this function); did you mean ‘BPF_FUNC_get_func_ip’? 55 | BPF_FUNC_##name, NULL) == 1; | ^~~~~~~~~ Ubuntu 22.04.2 LTS
您好,我想请教一下跨内核版本编译的场景,具体而言是在 kernel 4.15.0 中编译 kernel 4.9.0 的 nettrace 工具,目前在编译过程中遇到了以下问题: ``` ~/workspace/nettrace/nettrace$ docker run -it --rm --network=host --privileged -v $(pwd):$(pwd) -v /lib/modules/:/lib/modules/ -v /usr/src/:/usr/src/ imagedong/nettrace-build make -C $(pwd) NO_BTF=1 NO_GLOBAL_DATA=1 KERNEL=/home/ubuntu/workspace/nettrace/nettrace/linux...