Skip to main content

A python library to extend fping

Project description

https://img.shields.io/pypi/dm/fping.svg https://img.shields.io/pypi/v/fping.svg https://img.shields.io/pypi/status/fping.svg https://img.shields.io/pypi/pyversions/fping.svg https://img.shields.io/pypi/l/fping.svg https://img.shields.io/pypi/format/fping.svg

fping.py

Python library that uses the fping executable as its ping engine.

Requirements

  • Python 2.7 on Linux or Mac OS X (Python 3.5 compatibility is in the works, but not there yet.)

  • netaddr library (e.g. pip install netaddr)

  • Custom, forked build of fping (see Installation).

Installation

This library requires a forked version of fping, that has an added option to output the basic alive, unreachable and unresolvable hosts in CSV format.

  • Go to https://github.com/NetworkEng/fping and follow the installation instructions there to compile and install the custom version. Since you will be downloading the files directly from github, DO NOT skip step 1. Download Link: https://github.com/NetworkEng/fping/archive/develop.tar.gz

  • If you have issues running autogen.sh, please make sure that you have installed the automake package that is appropriate for your Linux distribution.

  • For Mac OS X you will need:

    • Xcode installed from the app store (launch it via gui at least once after install)

    • Xcode command line developer tools via ‘xcode-select –install’

    • Accept the command line license agreement via ‘sudo xcodebuild -license accept’

    • Install homebrew, and then use ‘brew install automake’

Once the fping executable has been compiled and installed, simply use pip to install the fping package from pypi.python.org. e.g.:

pip install fping

Usage

Though this is a work in progress, in its current state, this script is intended to be a library that is called and executed either in the (i)python interpreter / shell, or imported and used by another python script.

Examples:
    >>> from fping import FastPing
    >>> fp = FastPing()
    >>> fp.ping(filename='testing')
    # cmd =  ['/usr/local/sbin/fping', '-nV', '8.8.8.8',
              'www.google.com', '206.190.36.45', 'localhost',
              'host.cannotresolve.com']
    {'host.cannotresolve.com': 'unresolvable',
    'pa-in-f99.1e100.net': 'alive',
    'google-public-dns-a.google.com': 'alive',
    'localhost': 'unreachable',
    'ir1.fp.vip.gq1.yahoo.com': 'alive'}
    >>> fp.hosts(filename='testing', status='alive')
    'pa-in-f99.1e100.net': 'alive',
    'google-public-dns-a.google.com': 'alive',
    'ir1.fp.vip.gq1.yahoo.com': 'alive'}
    >>> fp.alive
    ['pa-in-f99.1e100.net',
    'google-public-dns-a.google.com',
    'ir1.fp.vip.gq1.yahoo.com']
    >>> fp.dead
    ['localhost']
    >>> fp.noip
    ['host.cannotresolve.com']
    >>>

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

fping-0.0.1a2.tar.gz (6.6 kB view hashes)

Uploaded Source

Built Distribution

fping-0.0.1a2-py2-none-any.whl (7.8 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page