Nping: 支持图表实时展示的多地址并发终端命令行 Ping

🚗 前言

也磕磕绊绊三天打鱼两天晒网利用周末时间学习了两个月 Rust 了, 不得不说, Rust 的学习曲线确实过于陡峭, 前面几乎一直在懵逼和不适应,直到突然有一天好像突然理解了前面的东西,既然基础的语法概念学习的差不多了,那至少应该做点什么出来,GUI 不会写,Web 好像初衷学习 Rust 不是为了写 Web。那就写一个命令行工具好了,写个什么呢, 思来想去不知道写点什么,直到突然有一天公司内网有些不稳定,但是外网却正常的时候,使用 Ping 排查问题的过程中发现这个默认 Ping 这个输出也太不好看了吧,说干就干,能不能做一个支持并发 Ping 多个地址, 同时带图表展示的 Ping 工具呢?刚好也能用到最新学习的 Rust 并发相关的东西。说干就干。

🌎️ 开源地址

github.com/hanshuaikan...

🏎️ Nping 介绍

Nping 顾名思义, 牛批的 Ping。是一个用 Rust 开发的使用 ICMP 协议的 Ping 工具。

🚜 Feature:

  • 支持多地址并发同时 Ping
  • 支持可视化延迟/抖动/丢包率/平均延迟 实时展示
  • 支持可视化延迟 图表展示

🛵 TODO:

  • 更好看更炫酷的 UI 实现
  • 更多的网络排查问题的功能
  • 上传到 yum, brew, pip 等包管理工具

🚥 使用说明

访问: github.com/hanshuaikan... 下载已经编译好的命令行工具,或者自己 clone 源代码编译二进制。

bash 复制代码
# 由于使用 pnet 包实现, 需要 root 权限
sudo sudo nping www.baidu.com www.google.com www.apple.com www.sina.com -c 20

# nping --help

nping with concurrent, chart, multiple addresses, real -time data update

Usage: nping [OPTIONS] <TARGET>...

Arguments:
  <TARGET>...  target IP address or hostname to ping

Options:
  -c, --count <COUNT>        Number of pings to send [default: 10000]
  -i, --interval <INTERVAL>  Interval in seconds between pings [default: 0]
  -s, --size <SIZE>          packet size [default: 32]
  -h, --help                 Print help
  -V, --version              Print version
  
相关推荐
笃行3504 小时前
向量数据库单独建一套,这笔账划不划算
后端
weixin_431600445 小时前
Agent Workflow 学习向:Code 节点,比模板更强的变量加工
后端·python·学习·ai·
Rain的Java大神之路5 小时前
短信接口被狂刷怎么处理
java·运维·后端·web安全·面试·架构·xss
Lost of 程序猿6 小时前
AOP 实战:面向切面编程从理论到落地
后端·asp.net·aop·面向切片变成
Lost of 程序猿6 小时前
ASP.NET Core 认证授权实战:从 JWT 到 Policy,设计一套企业级 RBAC 权限系统
后端·asp.net
Lost of 程序猿6 小时前
ASP.NET Core 后台任务全景:从 BackgroundService 到 Channel 队列,再到分布式调度
后端·asp.net·.netcore
倾颜7 小时前
NestJS 核心概念梳理:从 Module、Controller 到 Guard、Interceptor
后端·node.js·nestjs
东风破_7 小时前
JWT 1:从一个登录请求开始,理解 React 项目里的 API 层与 Mock
前端·后端
东风破_7 小时前
JWT 3:为什么 Token 要放进 Authorization?Axios 拦截器到底解决了什么?
前端·后端
东风破_7 小时前
JWT 5:路由守卫是什么?把整个 JWT 登录鉴权流程串起来
前端·后端