V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
matate

一个 udp ping 的工具

  •  
  •   matate · 3 月 25 日 · 935 次点击

    omni-ping

    检测 UDP 的延迟、丢包的工具。

    程序分 client 和 server 两个部分,被 ping 的远程机器上需要运行 server 。

    client 自带 dashboard ,可在浏览器实时查看统计结果。

    支持 linux, windows, mac

    可能会添加 TCP, ICMP 的 ping

    欢迎提 issue 和 pr


    github: https://github.com/vincascm/omni-ping

    client 截图:

    截图

    4 条回复    2026-03-28 13:46:20 +08:00
    gesse
        1
    gesse  
       3 月 26 日
    有个建议,相对于 c/s 模式,其实更能有需求的是去中心化模式,

    比如只有一个运行文件,然后运行了的多个服务器可以通过一个中心节点管理组成一个网状拓扑,可以设置各个节点间的 ping 关系。

    可以参考一个项目
    https://github.com/smartping/smartping
    matate
        2
    matate  
    OP
       3 月 26 日
    @gesse 这个想法不错。不过我理解,icmp 的 ping 其实是不需要 server 的,remote 的回包是系统发出的。这个工具需要,是因为这种 udp 的回包是自定义的,是需要应用程序发出的,所以 server 是免不了。

    smartping 看起来是数据独立存储,又存储了节点的关系,所以查询时能够查到关联节点的数据,这样会在查询时形成一张拓扑图。

    对于 omni-ping 这个工具,可以在 client 定义一个运行模式,不需要启动 dashboard ,只提供查询接口,外加节点关系的存储,大致能模拟这种需求。不过这样感觉又往监控、上报、告警的方向演进了,这只是个小工具,自己用的,因为运营商偶尔会阻断或 QoS 某些国际 IP 的 UDP 的流量,比如 hy2, quic , 用它看看啥情况,也刚好够用了。
    pagxir
        3
    pagxir  
       3 月 28 日 via Android
    为啥不直接用 iperf
    matate
        4
    matate  
    OP
       3 月 28 日
    @pagxir 一开始是用 iperf ,不好用放弃了,网上找了很久,不得已还是造轮子了。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3082 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 06:16 · PVG 14:16 · LAX 23:16 · JFK 02:16
    ♥ Do have faith in what you're doing.