Hasty Briefsbeta

双语

Show HN: A fast, dependency-free traceroute implementation in pure C

4 months ago
  • #network-diagnostics
  • #high-performance
  • #traceroute
  • Fastrace是一个用纯C语言编写的高性能、无依赖的traceroute实现
  • 采用基于poll()的全非阻塞架构,实现更快的ICMP响应回收
  • 通过单调时间流水线提供亚毫秒级RTT精度
  • 支持通过命令行参数动态调整跳数、探测包数、并发量和超时设置
  • 内置反向DNS缓存,支持-n参数禁用查询以优化性能
  • 使用扩展的套接字缓冲区和智能探测调度算法降低追踪延迟
  • 零外部依赖,仅使用标准C库和系统调用
  • 实现双套接字机制:UDP发送探测包,原始ICMP接收响应
  • 可配置的多TTL探测系统,支持调整并发窗口
  • 精确处理网络协议,包括UDP探测、TTL管理和ICMP响应解析
  • 采用树状结构可视化呈现网络路径
  • 相比标准traceroute在追踪速度、内存占用和CPU利用率上有显著提升
  • 支持Linux、macOS及其他支持原始套接字的类Unix系统
  • 提供Makefile简化编译安装流程
  • 基于BSD-2许可证开源