{ "info": { "author": "Itzik Grossman", "author_email": "itzygro@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Plugins", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Cython", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Monitoring" ], "description": "Intro\n------------\n\nMy attempt at making a ping scanner using python.\n\nBasically I needed a good tool to quickly scan large IP ranges, so I rolled my own.\n\nPacket building is in cython, sending the packets is done with multiprocessing, while receiving and processing is done in async.\n\nAt the moment only working on Linux, for IPv4.\n\nCode is probably quite rough around the edges, and while I don't expect it to break dramatically, you could encounter\nissues. Feel free to report anything.\n\nInstallation\n------------\nTo install first make sure you have the required header files to compile the C extensions:\n\nApt (Ubuntu, Debian):\n``sudo apt-get install python3-dev``\n\nYum (CentOS, RHEL):\n``sudo yum install python36-devel``\n\nThen install from pypi as usual:\n\n``pip install pingscan``\n\nUsage\n------------\n*You need root or CAP_NET_RAW to send pings*\n\nYou can scan either a combination of ip/netmask, or a list of networks in shortened form (e.g. '192.168.0.0/24')\n\n``import pingscan``\n\n``pingscan.scan('192.168.0.0', '255.255.255.0')``\n\nOR\n\n``pingscan.scan(['192.168.0.0/24', '192.168.1.0/24', '127.0.0.1'])``\n\nWill return a list of ip addresses that answered the ping - e.g. ['192.168.0.1', '192.168.0.2']\n\n\nContributions/Feedback\n-----------------------\nFeel free to comment, report issues, give feedback or contribute in any way\n\nFeature requests are also welcome\n\nNot supported\n--------------\nMultithreading and multiprocessing - possible, but I didn't see a reason\n\nResponse time of each host - if anyone requests this I can add it\n\n\nPerformance Tuning\n--------------------\nSome generic commands in case you run into trouble with linux sockets and the netstack\n\nIncreasing socket read and write memory:\n\n``sysctl -w net.core.wmem_max=134217728``\n\n``sysctl -w net.core.rmem_max=134217728``\n\nIf you're going for a large local segment with > 256 hosts you may need to configure this (so you ARP table doesn't fill up)\n(feel free to play with these values)\n\n``net.ipv4.neigh.default.gc_thresh1 = 4096``\n\n``net.ipv4.neigh.default.gc_thresh2 = 8192``\n\n``net.ipv4.neigh.default.gc_thresh3 = 65535``", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Cashmaney/pingscan", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "pingscan", "package_url": "https://pypi.org/project/pingscan/", "platform": "", "project_url": "https://pypi.org/project/pingscan/", "project_urls": { "Homepage": "https://github.com/Cashmaney/pingscan" }, "release_url": "https://pypi.org/project/pingscan/1.0.2/", "requires_dist": null, "requires_python": "", "summary": "A multiprocessing async ping scanner", "version": "1.0.2" }, "last_serial": 4481550, "releases": { "1.0.2": [ { "comment_text": "", "digests": { "md5": "895475aeba2d631bf5d0ffaa85f061b4", "sha256": "2b7633e197ea412daf375f1bff288691e36c5d830dadfa56e28a48aad74228cb" }, "downloads": -1, "filename": "pingscan-1.0.2.tar.gz", "has_sig": false, "md5_digest": "895475aeba2d631bf5d0ffaa85f061b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31736, "upload_time": "2018-11-13T12:11:04", "url": "https://files.pythonhosted.org/packages/1f/d8/9be77b21160fb4660b83c39a578acbc8afde99f715c8b2d3175bc8328d29/pingscan-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "895475aeba2d631bf5d0ffaa85f061b4", "sha256": "2b7633e197ea412daf375f1bff288691e36c5d830dadfa56e28a48aad74228cb" }, "downloads": -1, "filename": "pingscan-1.0.2.tar.gz", "has_sig": false, "md5_digest": "895475aeba2d631bf5d0ffaa85f061b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31736, "upload_time": "2018-11-13T12:11:04", "url": "https://files.pythonhosted.org/packages/1f/d8/9be77b21160fb4660b83c39a578acbc8afde99f715c8b2d3175bc8328d29/pingscan-1.0.2.tar.gz" } ] }