原文: Tracing a packet journey using Linux tracepoints, perf and eBPF
很久以来我一直在寻找一个底层的Linux网络调试工具。
我一直在寻找一个低级的Linux网络调试工具已经有一段时间了。Linux 允许使用虚拟接口(virtual interface)和网络命名空间(network namespace)的组合来构建直接在主机上运行的复杂网络。当出现问题时,故障排除相当乏味。如果这是 L3 路由问题,mtr则很有可能会有所帮助。但是,如果这是一个较低层的问题,我通常会手动检查每个接口/网桥/网络命名空间/iptables并启动几个tcpdump,以尝试了解正在发生的事情。如果您事先不了解网络设置,这可能感觉像走迷宫。