PingPung

A Python 3/Qt4 ping application and accompanying library

View project onGitHub

PingPung

PingPung is a multi-platform graphical ping utility.

Features

  • Multithreaded. Can theoretically run over 65,000 simultaneous ping sockets without conflict
  • Multiplatform. Runs on anything that can run Python3/PyQt4
  • Live stats. No more need to end the ping session to see totals and averages
  • Tabbed layout allows multiple concurrent ping sessions with individual stats and logging
  • Visual indicators (icon) for which tabs have running sessions
  • Visual indicators (color) for which sessions are succeeding/failing
  • Optional audio indicators for successful or failed pings
  • Sessions can be paused, adjusted, and resumed without losings stats and totals
  • More stats than standard ping tools
  • Gluten free!

Installation

Windows

The Windows package is a ZIP file containing the executable and all its dependencies, including Qt4. You just download and extract the ZIP anywhere you'd like, and run the (32 bit) exe file inside.

Linux/Other *nix

Dependencies

Pingpung only needs 2 things - Python 3 and PyQt4

Unfortunately for all of us, PyQt4 is not installable via pip, and therefore cannot be auto-installed as a PingPung dependency. You'll have to install PyQt4 using whatever method your distribution supports. For Debian/Ubuntu users, this is just

sudo apt-get install python3-pyqt4

Python Package Index

The simplest method is to run the install via 'pip3', as in

pip3 install pingpung

and assuming you've got the dependencies above, just run the app with

sudo pingpung

Why does PingPung need root?

Run from Source

If you wish, you can always just fetch the source code and run it from there. Install dependencies as described above. You'll need to download it either by 'git clone' or simply downloading the source ZIP file.

Once you've got the files extracted, just run

python3 pingpung.py

FAQ

Does PingPung use my operating system's builtin ping utility?

No. PingPung was written specifically to avoid reliance on any particular OS implementation of 'ping'. Instead, the library in use was adapted from an existing Python 3 console application which can be found here http://www.falatic.com/index.php/39/pinging-with-python

Because of this, PingPung requires root/admin privileges to run. For details see below.

Why does PingPung require root privileges?

Creating a raw socket with which to craft a ping packet is a fairly low-level operation. Any IP-network capable operating system has a builtin ping program, and part of the reason for that is because the OS maker can setuid that program so the user doesn't need to have root privileges to run it.

Technical stuff aside, it's because PingPung is designed to use its own ping system, not your operating system's, so it doesn't have the built-in permissions that your OS's ping program does.

Feel free to inspect the code if you have any concerns.

Why use Qt?

To be perfectly honest, it was simply because I had never used it, but had heard mostly good things about Qt's quality as a toolkit. So far, I like most of it.

What is love?

Much like an M.L.T. Or so I'm told.

This page was generated by GitHub Pages using the Architect theme by Jason Long.