本文讲的是使用 Linux tracepoints, perf以及eBPF跟踪网络数据包的流程,我寻找一个低级Linux网络调试工具已经有一段时间了, Linux允许使用虚拟接口和网络命名空间的组合在主机上直接运行复杂网络.当出现问题时,排除故障相当耗时.如果这是L3路由器的问题,可以使用mtr命令进行路由分析.但是,如果这是一个较低级别的问题,我通常会手动检查每个接口.桥接.网络命名空间以及防火墙,并启动几个tcpdump,以便了解发生了什么.这个过程是如此复杂,以至于我想要找到一个可以直接发