This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

A pure python ping implementation using raw sockets.

Note that ICMP messages can only be sent from processes running as root (in Windows, you must run this script as ‘Administrator’).

Original Version from Matthew Dixon Cowles.

  • Copyleft 1989-2011 by the python-ping team, see AUTHORS for more details.
  • License: GNU GPL v2, see LICENCE for more details.

Usage

Use as a cli tool:

socketubs@socket-laptop [Pyping]: sudo pyping socketubs.net

PYTHON-PING socketubs.net (92.243.5.143): 55 data bytes
241 bytes from socketubs.net (92.243.5.143): icmp_seq=0 ttl=55 time=64.5 ms
241 bytes from socketubs.net (92.243.5.143): icmp_seq=1 ttl=55 time=67.7 ms
241 bytes from socketubs.net (92.243.5.143): icmp_seq=2 ttl=55 time=66.6 ms

----socketubs.net PYTHON PING Statistics----
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip (ms)  min/avg/max = 64.457/66.244/67.677

socketubs@socket-laptop [Pyping]: pyping --help

Use as a Python lib:

>>> import pyping
>>> r = pyping.ping('socketubs.net')                # Need to be root or
>>> r = pyping.ping('socketubs.net', udp = True)    # But it's udp, not real icmp
>>> r.ret_code
0
>>> r.destination
'socketubs.net'
>>> r.max_rtt
'69.374'
>>> r.avg_rtt
'68.572'
>>> r.min_rtt
'67.681'
>>> r.destination_ip
'92.243.5.143'

Todo

  • Docs
  • Refactor core.py
  • Tests

Contribute

Fork this repo on GitHub and send pull requests. Thank you.

History

2012-06-05

  • Cleanup projet (by Socketubs): - Add Cli parser - Can be used as python library - Added to pypi - Some Fixes - Clean

2011-10-17

2011-10-12

  • Merge sources and create a seperate github repository and add a simple CLI interface.

2011-09-12

  • Bugfixes + cleanup by Jens Diemer. Tested with Ubuntu + Windows 7.

2011-09-06

  • Cleanup by Martin Falatic : - Restored lost comments and docs. Improved functionality: constant time between pings, internal times consistently use milliseconds. Clarified annotations (e.g., in the checksum routine) - Using unsigned data in IP & ICMP header pack/unpack unless otherwise necessary. - Signal handling - Ping-style output formatting and stats

2011-08-03

  • Ported to py3k by Zach Ware. Mostly done by 2to3; also minor changes to deal with bytes vs. string changes (no more ord() in checksum() because >source_string< is actually bytes, added .encode() to data in send_one_ping()). That’s about it.

2010-03-11

  • Changes by Samuel Stauffer: - Replaced time.clock with default_timer which is set to time.clock on windows and time.time on other systems.

2009-11-08

  • Fixes by George Notaras, reported by Chris Hallman: - Improved compatibility with GNU/Linux systems. - Re-use time.time() instead of time.clock(). The 2007 implementation worked only under Microsoft Windows. Failed on GNU/Linux. time.clock() behaves differently under the two OSes.

2007-06-30

  • Little rewrite by Jens Diemer: - Change socket asterisk import to a normal import - Replace time.time() with time.clock() - Delete “return None” (or change to “return” only) - In checksum() rename “str” to “source_string”

2000-12-04

  • Changed the struct.pack() calls to pack the checksum and ID as unsigned. My thanks to Jerome Poincheval for the fix.

1997-12-16

For some reason, the checksum bytes are in the wrong order when this is run under Solaris 2.X for SPARC but it works right under Linux x86. Since I don’t know just what’s wrong, I’ll swap the bytes always and then do an htons().

1997-11-22

Initial hack. Doesn’t do much, but rather than try to guess what features I (or others) will want in the future, I’ve only put in what I need now.

Release History

Release History

0.0.5

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pyping-0.0.5.tar.gz (8.9 kB) Copy SHA256 Checksum SHA256 Source Jul 27, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting