Python Ping tester
Project description
dt-pinger
dt-pinger is a Python script for gathering ping statistics for one or more target hosts.
dt-pinger can be used to:
- identify devices that are up or down on the network
- trouble shoot network issues (dropped packets, network congestion, ...)
dt-pinger
- Only uses standard python modules
- Tested on Windows and Linux
- Provides output in multiple formats (csv, json, text)
- Is a single python file, not requiring any additional resources
Statistics captured for each host are:
- ping timestamp
- Source hostname
- Target hostname
- Packet information (sent, received, lost)
- Round Trip Time ms (minimum, maximum, average)
Installation
To install/use dt-pinger, you may:
Use | Command |
---|---|
github source | git clone https://github.com/javawiz1/dt-pinger.git |
pip | pip install dt-pinger [--user] |
pipx | pipx install dt-pinger |
Usage
usage: dt-pinger.py [-h] [-i FILENAME] [-o {csv,json,jsonf,text}] [-c COUNT] [-w WAIT] [-v] [host ...]
positional arguments:
host List of one or more hosts to ping
options:
-h, --help show this help message and exit
-i FILENAME, --input FILENAME
Input file with hostnames 1 per line
-o {csv,json,jsonf,text}, --output {csv,json,jsonf,text}
Output format (default text)
-c COUNT, --count COUNT
number of requests to send (default 4)
-w WAIT, --wait WAIT milliseconds to wait before timeout (default 2000)
-v, --verbose
Parameters
- You must supply either hostname(s) or the -i/--input parameter not both.
parameter | Req/Opt | description |
---|---|---|
host | req | one or more host names seperated by space (i.e. host1 host2 host3 ...) |
-i / --input | req | text file containing hostnames
|
-o / --output | opt | output type
|
-c / --count | opt | Number of echo packets to send, default 4 |
-w / --wait | opt | Wait time for response (ms windows, secs linux), default 2 seconds |
Running from python source
When running from the source code, cd to the source directory, then run by using one of the following commands...
- python dt_pinger.py host1
- python dt_pinger.py host1 [[host2][host3]...]
- python pypinter.py -i hostlist.txt
If installed via pip or pipx
The install creates an entrypoint so that
the script can be called like an executable.
- dt-pinger host1
- dt-pinger host1 [[host2][host3]...]
- pypinter -i hostlist.txt
Note:
python dt_pinger.py host1
and dt-pinger host1
are identical.
Example
python dt_pinger.py pc1 pc2 pc3 pc4 pc5 google.com
----------------------------------------
dt-pinger parameters
----------------------------------------
Source host : my-laptop
Target hosts : 20
Worker threads : 20
Req per host : 4
Wait timeout : 2000 (ms)
Packets RTT
Source Target Sent Recv Lost Min Max Avg Error Msg
--------------- -------------------- ---- ---- ---- ---- ---- ---- --------------------------------------
my-laptop pc1 4 4 0 2 6 3
my-laptop pc2 4 4 0 6 9 8
my-laptop pc3 4 4 0 4 5 4
my-laptop pc4 0 0 0 0 0 0 (1) offline?
my-laptop pc5 4 4 0 6 18 11
my-laptop google.com 4 4 0 29 32 31
6 hosts processed in 7.2 seconds.
Tips
- Console messages are sent to stderr, output data to stdout. You can redirect stdout, to create a file with just the csv as follows:
python dt_pinger.py pc1 pc2 pc3 -o csv > pinger.csv
- If installed via pip or pipx, an entrypoint was created (i.e. dt-pinger.exe),
so as long as you have the proper path, you can run dt-pinger (instead of cd to proper directory and running python dt_pinger.py).
Note: dt_pinger.py vs. dt-pinger.exe (underscore vs. hyphen)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dt_pinger-0.1.0.tar.gz
(7.7 kB
view hashes)
Built Distribution
Close
Hashes for dt_pinger-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16e863503515cab484fb4e8f4ddb8a5abc85521a9e3c1b5167df04fa809b78ad |
|
MD5 | 3c8ca24e99b74e92c0cedf53391e4301 |
|
BLAKE2b-256 | f9927793e7c31bab34b2b8968febce4d7bd80de697b49f611173e0f8b198529f |