{ "info": { "author": "Jens Diemer", "author_email": "python-ping@jensdiemer.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Networking :: Monitoring" ], "description": "A pure python ping implementation using raw sockets.\n\nNote that ICMP messages can only be sent from processes running as root\n(in Windows, you must run this script as 'Administrator').\n\nOriginal Version from `Matthew Dixon Cowles `_\n\n* copyleft 1989-2011 by the python-ping team, see `AUTHORS `_ for more details.\n\n* license: GNU GPL v2, see `LICENSE `_ for more details.\n\nusage\n=====\n\n::\n\n ~/python-ping$ sudo ./ping.py google.com\n \n PYTHON-PING google.com (209.85.148.99): 55 data bytes\n 64 bytes from google.com (209.85.148.99): icmp_seq=0 ttl=54 time=56.2 ms\n 64 bytes from google.com (209.85.148.99): icmp_seq=1 ttl=54 time=55.7 ms\n 64 bytes from google.com (209.85.148.99): icmp_seq=2 ttl=54 time=55.5 ms\n \n ----google.com PYTHON PING Statistics----\n 3 packets transmitted, 3 packets received, 0.0% packet loss\n round-trip (ms) min/avg/max = 55.468/55.795/56.232\n\n-----\nTODOs\n-----\n\n* refactor ping.py\n\n* create a CLI interface\n\n* add a \"suprocess ping\", with output parser\n\n----------\ncontribute\n----------\n\n`Fork this repo `_ on `GitHub `_ and `send pull requests `_. Thank you.\n\n----------------\nRevision history\n----------------\n\nOct. 12, 2011\n-------------\n\nMerge sources and create a seperate github repository:\n\n* `https://github.com/jedie/python-ping `_\n\nAdd a simple CLI interface.\n\nSeptember 12, 2011\n------------------\n\nBugfixes + cleanup by Jens Diemer\nTested with Ubuntu + Windows 7\n\nSeptember 6, 2011\n-----------------\n\n`Cleanup by Martin Falatic. `_\nRestored lost comments and docs. Improved functionality: constant time between\npings, internal times consistently use milliseconds. Clarified annotations\n(e.g., in the checksum routine). Using unsigned data in IP & ICMP header\npack/unpack unless otherwise necessary. Signal handling. Ping-style output\nformatting and stats.\n\nAugust 3, 2011\n--------------\n\nPorted to py3k by Zach Ware. Mostly done by 2to3; also minor changes to\ndeal with bytes vs. string changes (no more ord() in checksum() because\n>source_string< is actually bytes, added .encode() to data in\nsend_one_ping()). That's about it.\n\nMarch 11, 2010\n--------------\n\nchanges by Samuel Stauffer:\nreplaced time.clock with default_timer which is set to\ntime.clock on windows and time.time on other systems.\n\nNovember 8, 2009\n----------------\n\nFixes by `George Notaras `_,\nreported by `Chris Hallman `_:\n\nImproved compatibility with GNU/Linux systems.\n\nChanges in this release:\n\nRe-use time.time() instead of time.clock(). The 2007 implementation\nworked only under Microsoft Windows. Failed on GNU/Linux.\ntime.clock() behaves differently under `the two OSes `_.\n\nMay 30, 2007\n------------\n\nlittle `rewrite by Jens Diemer `_:\n\n* change socket asterisk import to a normal import\n\n* replace time.time() with time.clock()\n\n* delete \"return None\" (or change to \"return\" only)\n\n* in checksum() rename \"str\" to \"source_string\"\n\nDecember 4, 2000\n----------------\n\nChanged the struct.pack() calls to pack the checksum and ID as\nunsigned. My thanks to Jerome Poincheval for the fix.\n\nNovember 22, 1997\n-----------------\n\nInitial hack. Doesn't do much, but rather than try to guess\nwhat features I (or others) will want in the future, I've only\nput in what I need now.\n\nDecember 16, 1997\n-----------------\n\nFor some reason, the checksum bytes are in the wrong order when\nthis is run under Solaris 2.X for SPARC but it works right under\nLinux x86. Since I don't know just what's wrong, I'll swap the\nbytes always and then do an htons().", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jedie/python-ping/", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "python-ping", "package_url": "https://pypi.org/project/python-ping/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/python-ping/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/jedie/python-ping/" }, "release_url": "https://pypi.org/project/python-ping/2011.10.12.1d8e600/", "requires_dist": null, "requires_python": null, "summary": "A pure python ICMP ping implementation using raw sockets.", "version": "2011.10.12.1d8e600" }, "last_serial": 798035, "releases": { "2011.10.12.11fc9f7": [ { "comment_text": "", "digests": { "md5": "7ec741cfcfa24eb3fe60220dd99dcaeb", "sha256": "9769154272133abab9e04bac3dedac2a00976596afe987a1850384eb66737c62" }, "downloads": -1, "filename": "python-ping-2011.10.12.11fc9f7.tar.gz", "has_sig": false, "md5_digest": "7ec741cfcfa24eb3fe60220dd99dcaeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5109, "upload_time": "2011-10-12T16:13:40", "url": "https://files.pythonhosted.org/packages/38/46/955ccfe6af8747b0401ccb748b6eb5da2265cc7daa9e3d08ac5d9e818bd2/python-ping-2011.10.12.11fc9f7.tar.gz" } ], "2011.10.12.1d8e600": [ { "comment_text": "", "digests": { "md5": "b70415548abccd98318da7aa98462d53", "sha256": "7d1cb352cb9062792ab66265121a11bfc8a15842f4224abc31f4432d10d4fd56" }, "downloads": -1, "filename": "python-ping-2011.10.12.1d8e600.tar.gz", "has_sig": false, "md5_digest": "b70415548abccd98318da7aa98462d53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5263, "upload_time": "2011-10-12T22:51:51", "url": "https://files.pythonhosted.org/packages/7e/8d/cd50c435c9f0b2b5529b598336b87672e6b82f2a41e2a2e3e750f2997532/python-ping-2011.10.12.1d8e600.tar.gz" } ], "2011.10.13.12050a5": [ { "comment_text": "", "digests": { "md5": "5ebb57d90df632a4ad2f4e795b28c853", "sha256": "d6f3749d2b670851a3f21f0310ca443879f372340237b4c2833dc9ba3dd4ddef" }, "downloads": -1, "filename": "python-ping-2011.10.13.12050a5.tar.gz", "has_sig": false, "md5_digest": "5ebb57d90df632a4ad2f4e795b28c853", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8750, "upload_time": "2011-10-13T10:17:38", "url": "https://files.pythonhosted.org/packages/01/f1/9ffb154549e1813eb888a7b737818bac1fe982f5491d10b5e40b618076a8/python-ping-2011.10.13.12050a5.tar.gz" } ], "2011.10.17.376a019": [ { "comment_text": "", "digests": { "md5": "862755beea1af586900ccd30dacda032", "sha256": "744b02a968d8f4f269c2ea6831cee8a781855d9174319cb2b53e396877448268" }, "downloads": -1, "filename": "python-ping-2011.10.17.376a019.tar.gz", "has_sig": false, "md5_digest": "862755beea1af586900ccd30dacda032", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8803, "upload_time": "2011-10-17T09:07:00", "url": "https://files.pythonhosted.org/packages/6f/5c/f2f643d74bf97c8250500c9daa0948ab84175cb0d8a4f6e180b2c3b04518/python-ping-2011.10.17.376a019.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b70415548abccd98318da7aa98462d53", "sha256": "7d1cb352cb9062792ab66265121a11bfc8a15842f4224abc31f4432d10d4fd56" }, "downloads": -1, "filename": "python-ping-2011.10.12.1d8e600.tar.gz", "has_sig": false, "md5_digest": "b70415548abccd98318da7aa98462d53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5263, "upload_time": "2011-10-12T22:51:51", "url": "https://files.pythonhosted.org/packages/7e/8d/cd50c435c9f0b2b5529b598336b87672e6b82f2a41e2a2e3e750f2997532/python-ping-2011.10.12.1d8e600.tar.gz" } ] }