octo's ping library
liboping is a C library to generate ICMP echo requests, better known
as “ping packets”. It is intended for use in network monitoring applications or applications
that would otherwise need to fork
ping(1) frequently. Included is a sample application,
called oping, which demonstrates the library’s abilities. It is like
ping, ping6, and fping rolled into one. Since people are curious you might want to
see an example output.
liboping was inspired by ping, libping (homepage vanished) and fping: It differs from these existing solutions in that it can ”ping” multiple hosts in parallel using IPv4 or IPv6 transparently. Other design principles were an object oriented interface, simplicity and extensibility: Is simple because there are only a few interface functions and no external dependencies. It’s extensible since all (internal) data is kept in “opaque data types”, so the storage may change or be extended without applications noticing it.
liboping is a free software project and you’re very welcome to participate in and contribute to its development.
Source code is kept in a Git repository on GitHub. You can “clone” the repository with the following command. Patches are welcome anytime (see below).
git clone git://github.com/octo/liboping.git
Issues / bug tracker
We use GitHub issues to track bug reports and feature requests.
Pull requests / patches
Please open a Pull request on GitHub if you want to contribute code to liboping.
User questions are best asked on our mailing list. You need to subscribe before you can post to the list.
liboping is distributed under the LGPL 2.1.
The oping and noping utilities are licensed under the GPL 2.
The license can also be found in the
COPYING file in the source tarball.