A ping utility with nice output, enhanced with traceroute and port probe.
Switch branches/tags
Nothing to show
Clone or download

README.md

Go Report Card

🐸 ving

ving is a ping utility with nice output, in Golang(1.11+), enhanced with some useful features, like trace, ports probe, and more yet to be implemented, 😝.

Special thanks to the amazing termui library.

🦁 Features

  • ping multiple targets concurrently and independently;
  • trace a target like a simple tracerout, --trace, -T;
  • probe well known tcp ports, --ports;
  • error rate and latency statistics in sliding window, as emoji;
  • sort by error rate and latency statistic, --sort;
  • ping gateway conveniently, -g;
  • responsive terminal display (based on termui).

Feature details

Features Functionality Details
Trace Toggle Key t
Switch / k, / j
n: manual mode
c: continuous mode
Ports Toggle Key p
Switch / k, / j
f: filter ports list, reached, unreached, or all
v: change view mode, name only, port number only, or both
r: refresh and probe all ports again
Help Toggle Key h

🙈 Install

$ go get -u github.com/yittg/ving

Notes for linux users, run ving with sudo or setcap in advance, for more information, see the man page.

$ sudo setcap "cap_net_raw+ep" ving

⚡ Usage

$ ving

$ ving 8.8.8.8 -P 1-1024

$ ving --help

A demo animation that demonstrates most of the functionality, although not perfectly rendered (see screenshot for actual rendering), thanks to terminalizer.