一个 udp ping 的工具

3 月 25 日
 matate

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 截图:

891 次点击
所在节点    分享创造
4 条回复
gesse
3 月 26 日
有个建议,相对于 c/s 模式,其实更能有需求的是去中心化模式,

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

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

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

对于 omni-ping 这个工具,可以在 client 定义一个运行模式,不需要启动 dashboard ,只提供查询接口,外加节点关系的存储,大致能模拟这种需求。不过这样感觉又往监控、上报、告警的方向演进了,这只是个小工具,自己用的,因为运营商偶尔会阻断或 QoS 某些国际 IP 的 UDP 的流量,比如 hy2, quic , 用它看看啥情况,也刚好够用了。
pagxir
3 月 28 日
为啥不直接用 iperf
matate
3 月 28 日
@pagxir 一开始是用 iperf ,不好用放弃了,网上找了很久,不得已还是造轮子了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1201071

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX