mping: 使用新的icmp库实现探测和压测工具

mping: 使用新的icmp库实现探测和压测工具

💡 原文中文,约6700字,阅读约需16分钟。
📝

内容提要

使用mdlayher/icmpx库实现ICMP协议压测,主程序解析参数,发送和接收函数处理数据,统计丢包率和时延,支持设置多个参数。

🎯

关键要点

  • 项目地址为mping,旨在实现一个基于ICMP协议的压测工具。
  • 使用mdlayher/icmpx库替代Go官方的icmp库,因其更易用且功能强大。
  • 主程序分为四个部分:主程序、发送函数、接收函数和统计输出。
  • 主程序负责解析参数,包括包数量、TOS值、包大小、超时时间、发送频率、最大延迟和比特翻转检查。
  • 支持同时探测多个目的地址,需使用root权限或设置权限后普通用户可执行。
  • 发送函数使用限流器控制发送速率,并在包中添加时间戳以计算时延。
  • 接收函数确保收到的包与发送的包匹配,并进行多项检查。
  • 统计部分每秒打印发送和接收的包数量、丢包率和时延等信息。
➡️

继续阅读