• Stars
    star
    179
  • Rank 214,039 (Top 5 %)
  • Language
    C
  • License
    GNU Lesser Genera...
  • Created almost 15 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Protocol independent ANSI-C ping library and command line utility.
 liboping โ€“ Library to ping IPv4 and IPv6 hosts in parallel
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
http://noping.cc/

About
โ”โ”โ”โ”โ”

  liboping was inspired by ping, libping 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.

  On top of liboping two command line applications have been built. โ€œopingโ€ is
  a drop-in replacement for ping(1) with very similar output. โ€œnopingโ€ is an
  ncurses-based application which displays statistics while pinging and
  highlights aberrant round-trip times.


Features
โ”โ”โ”โ”โ”โ”โ”โ”

  โ€ข Support for multiple hosts.

  โ€ข Support for IPv4 and IPv6.

  โ€ข Object oriented interface.


Perl bindings
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

  Included in the source package of liboping are bindings for Perl. The code
  resides in the bindings/ subdirectory and is compiled and installed by
  default. To disable building the Perl bindings, call โ€œconfigureโ€ with
  โ€œ--without-perl-bindingsโ€.


Permissions
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

  On UNIX, special permissions are required to open raw sockets (raw(7)). If
  you compile and install the โ€œopingโ€ and โ€œnopingโ€ binaries as normal user
  (which is strongly suggested), you won't be able to use the binaries as a
  normal user, because you won't have the permission to open raw sockets.

  The โ€œinstallโ€ target will automatically try fix this, if it is run with UID~0
  (as user root).  When on Linux, the capabilities described below will be
  added. On other UNIXes the traditional Set-UID method (also described below)
  is used instead. The build system will not abort if this fails, because there
  are file systems which do not support either method. Also, the Debian
  packaging system and possibly other scenarios only act as if they were
  running as root.

  Linux
  โ”โ”โ”โ”โ”
  On Linux, the preferred method is to assign the required โ€œcapabilityโ€ to the
  binaries. This will allow the binary to open raw sockets, but doesn't give
  any other permissions such as reading other users' files or shutting down the
  system. The downside is that this mechanism is comparatively new: Assigning
  capabilities to files is available since Linux 2.6.24.

  To set the required capabilities, run (as user root):

    # setcap cap_net_raw=ep /opt/oping/bin/oping
    # setcap cap_net_raw=ep /opt/oping/bin/noping

  Other UNIX
  โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
  Capabilities are a nice but Linux-specific solution. To make โ€œopingโ€ and
  โ€œnopingโ€ available to unprivileged users on other UNIX systems, use the
  traditional set-UID root solution. If your system supports โ€œsaved set-UIDsโ€
  (basically all systems do), the applications will drop the privileges during
  initialization and only regain them when actually opening the socket(s).

  To set the set-UID bit, run (as user root):

    # chown root: /opt/oping/bin/{,n}oping
    # chmod u+s   /opt/oping/bin/{,n}oping


Licensing terms
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

  liboping is licensed under the โ€œGNU Lesser General Public Licenseโ€ (LGPL),
  version 2.1 or later. The exact licensing terms can be found in the file
  โ€œCOPYINGโ€ included in the source distribution of liboping.

  The โ€œopingโ€ and โ€œnopingโ€ utilities included in this package are licensed
  under the โ€œGNU General Public Licenseโ€ (GPL), version 2. The full licensing
  terms can be found online at <http://www.gnu.org/licenses/gpl-2.0.html>.


Author
โ”โ”โ”โ”โ”โ”

  Florian โ€œoctoโ€ Forster <ff at octo.it>