pin

pingtop

🏓Ping multiple servers and show results in a top-like terminal UI.

Showing:

Popularity

Downloads/wk

0

GitHub Stars

364

Maintenance

Last Commit

3mos ago

Contributors

8

Package

Dependencies

0

License

Categories

Readme

pingtop

Ping multiple servers and show the result in a top like terminal UI.

|asciicast|

Install

::

pip install pingtop

pingtop support Python3.8 Python3.8.

There is a dependency (blist <http://stutzbachenterprises.com/blist/>) not supporting Python3.9, so please pingtop can't support 3.9.

Usage

Then ping mutiple server:

::

pingtop baidu.com google.com twitter.com

This project is using click <https://click.palletsprojects.com/en/7.x/>__. Check help info with pingtop -h.

::

~ pingtop --help Usage: pingtop [OPTIONS][HOST]...

Options: -s, --packetsize INTEGER specify the number of data bytes to be sent. The default is 56, which translates into 64 ICMP data bytes when combined with the 8 bytes of ICMP header data. This option cannot be used with ping sweeps. [default: 56] -l, --logto PATH -v, --log-level [DEBUG|INFO|WARNING|ERROR|CRITICAL] --help Show this message and exit.

Why do I get Permission denied ?

We use ICMP socket to send ping packet without sudo (See this post <https://blog.lilydjwg.me/2013/10/29/non-privileged-icmp-ping.41390.html>__ by lilydjwg(in Chinese)), however, who(which group) can use this feature is controled by a kernel parameter: net.ipv4.ping_group_range.

::

cat /proc/sys/net/ipv4/ping_group_range

1 0

The default value is 1 0, this means the whose group number from 1 to 0 can use this feature(which means nobody can use this), so you get a Permission denied .

To fix this, change this variable to a proper range include your group id, like this:

::

[vagrant@centos7 pingtop]$ id uid=1000(vagrant) gid=1000(vagrant) groups=1000(vagrant) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[vagrant@centos7 pingtop]$ sudo sysctl -w net.ipv4.ping_group_range='0 1001' net.ipv4.ping_group_range = 0 1001

Credits

  • For the credits of ping.py’s implementation please refer ping.py <./pingtop/ping.py>__.
  • The UI was built on panwid <https://github.com/tonycpsu/panwid>__ thanks to @tonycpsu.
  • @\ gzxultra <https://github.com/gzxultra>__ helped to solve the permission issues.

.. |CircleCI| image:: https://circleci.com/gh/laixintao/pingtop.svg?style=svg :target: https://circleci.com/gh/laixintao/pingtop .. |asciicast| image:: https://asciinema.org/a/onbBCmHzhltau7iqButUGx6yu.svg :target: https://asciinema.org/a/onbBCmHzhltau7iqButUGx6yu

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100