ping3 is a Python implementation of ICMP ping functionality. It provides both a command-line program and a Python interface for sending echo requests and measuring network response times.
The project is useful for developers who need connectivity checks within Python applications or scripts. Rather than invoking an external ping executable, programs can call its functions directly and work with the results.
ping3 also serves as an example of low-level network programming in Python. It constructs ICMP messages and uses sockets to communicate with remote hosts, subject to the permissions and networking facilities available on the operating system.
This is free and open source software.
Key Features
- Send ICMP echo requests from Python programs.
- Measure round-trip response times to remote hosts.
- Command-line interface for standalone connectivity checks.
- Python API for integration with scripts and applications.
- Configurable timeouts for individual requests.
- Control packet payload size and related parameters.
- Distinguish successful replies from timed-out requests.
- Handle network errors through Python exceptions.
- Support repeated connectivity measurements through application code.
- Use raw sockets for low-level ICMP communication.
- Cross-platform support – runs on Linux, macOS, and Windows.
Website: github.com/kyan001/ping3
Support:
Developer: Kyan
License: MIT License

ping3 is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Alternatives to ping | |
|---|---|
| pingnoo | Offers a graphical representation for traceroute and ping output (GUI) |
| hping3 | Supports TCP, UDP, ICMP and RAW-IP protocols with traceroute mode |
| gping | Ping but with a graph |
| GNOME Nettool | Performs ping, netstat, traceroute, port scans, lookup, and whois (GUI) |
| mtr | Combines 'traceroute' and 'ping' programs in a single network tool |
| pingtop | Ping multiple servers and show the result in a top like terminal UI |
| pingu | Command implementation in Go but with colorful output and pingu ascii art |
| 2ping | Bi-directional ping tool using 3-way pings (akin to TCP SYN, SYN/ACK, ACK) |
| BWPing | Measures bandwidth and response times between two hosts using ICMP |
| cnping | Minimal graphical IPv4 Ping / HTTP tool |
| fping | Send ICMP echo probes to network hosts |
| SmokePing | Measure, store and display latency, latency distribution and packet loss |
| tcping | ICMP ping but for TCP |
| alive | Periodic ping |
| ping3 | Python3 version of ICMP ping |
| echoping | Testing tool for network protocols |
| xping | Continuously probe multiple hosts using icmp-echo |
| omping | Test IPv4/IPv6 multicast connectivity on a LAN |
| Trippy | Network diagnostic tool combining the functionality of ping & traceroute |
| Echo | Simple GUI GTK4 utility to ping websites |
| pingstat | Multi-server ping logging |
| myping | Ping multiple hosts at the same time |
| mtr085 | Fork of mtr adding functionality such as Unicode histograms |
| mtr-gtk | GUI frontend |
| Ping Monitor | Displays real-time ping times (GUI) |
| split ping | See the direction of loss or latency |
| ring | ping rewritten in Rust |
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.