{ "info": { "author": "Overboard", "author_email": "amwroute-git@yahoo.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6" ], "description": "**httpfind**\n============\n\n|The MIT License|\n\n Search network for HTTP servers using a regular expression filter.\n\nUse *httpfind* to obtain the IP addresses of specified devices on a\nnetwork. HTTP requests for a user specified page are sent in parallel.\nResponses are compared against a user specified regular expression\npattern. Qualified results are returned as a list. The module is readily\nimported for use in other projects, and it also includes a convenient\ncommand line interface.\n\nInstallation\n------------\n\n.. code:: shell\n\n pip install httpfind\n\nExamples\n--------\n\nBasic import example\n\n.. code:: python\n\n import httpfind\n\n result = httpfind.survey(\n network='192.168.0.0/24',\n pattern='(A|a)ccess (P|p)oint',\n path='login.php',\n log=False)\n\n # Results printed as full URLs\n print(result)\n # Results printed as IP addresses\n print([x.hostname for x in result])\n\nYields\n\n.. code:: shell\n\n ['http://192.168.0.190/login.php', 'http://192.168.0.191/login.php', 'http://192.168.0.192/login.php']\n ['192.168.0.190', '192.168.0.191', '192.168.0.192']\n\nCommand line example\n\n.. code:: shell\n\n $> httpfind -h\n usage: httpfind [-h] [-p PATH] [-f PATTERN] [-l] network\n\n Search 'network' for hosts with a response to 'path' that matches 'filter'\n\n positional arguments:\n network IP address with optional mask, e.g. 192.168.0.0/24\n\n optional arguments:\n -h, --help show this help message and exit\n -p PATH, --path PATH URL path at host, e.g. index.html\n -f PATTERN, --filter PATTERN\n Regular expression pattern for filter\n -l, --log Enable logging\n\n $> httpfind 192.168.0.0/24 -f \"Access Point\" -p login.php\n Scanning, please wait ...\n Found 3 matches for Access Point on 192.168.0.0/24\n 192.168.0.190\n 192.168.0.191\n 192.168.0.192\n\nParameters\n----------\n\n``def survey(network=None, path='', pattern='', log=False):``\n\n- ``network`` - IP address and subnet mask compatible with `ipaddress\n library `__\n- ``path`` - Path portion of a URL as defined by\n `url(un)split `__\n- ``pattern`` - A regular expression pattern compatible with\n `re.compile `__\n- ``log`` - boolean to control logging level\n\nConsequently, the network can be defined in either subnet mask\n(x.x.x.x/255.255.255.0) or CIDR notation (x.x.x.x/24). Presently,\n*httpfind* only scans networks of upto 256 addresses as shown in most of\nthe examples. Of course, a single IP address may be specified either by\nx.x.x.x or x.x.x.x/32.\n\nThere are numerous resources for regular expressions, such as the\n`introduction `__ provided\nby the Python Software Foundation. For the simple cases, using the\ndefault or '' will match any pages while a word such as 'Access' will\nmatch if it's found in the returned HTML provided it's the same case.\n\nPerformance\n-----------\n\nAs *discoverhue* utilizes the excellent\n`aiohttp `__ package, requests\nare sent simultaneously rather than iteratively. More accurately, the\nrequests are sent randomly over a 2.5s interval so as to not spike\ntraffic. The timeout is set for 5.0s, so typical execution time is about\n8.0s.\n\nContributions\n-------------\n\nWelcome at https://github.com/Overboard/httpfind\n\nStatus\n------\n\nReleased.\n\n.. |The MIT License| image:: https://img.shields.io/badge/license-MIT-orange.svg?style=flat-square\n :target: http://opensource.org/licenses/MIT\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Overboard/httpfind", "keywords": "http find scan filter", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "httpfind", "package_url": "https://pypi.org/project/httpfind/", "platform": "", "project_url": "https://pypi.org/project/httpfind/", "project_urls": { "Homepage": "https://github.com/Overboard/httpfind" }, "release_url": "https://pypi.org/project/httpfind/1.0.1/", "requires_dist": [ "aiohttp" ], "requires_python": "", "summary": "Search network for HTTP servers using a regular expression filter", "version": "1.0.1" }, "last_serial": 3681291, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "bdfaa80eff7a508efe54b69f4b4c4a2a", "sha256": "0bab7c624ac3683493e42860750595b5828340e72bbc859e430f1fc42742501a" }, "downloads": -1, "filename": "httpfind-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bdfaa80eff7a508efe54b69f4b4c4a2a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8895, "upload_time": "2018-03-18T16:49:22", "url": "https://files.pythonhosted.org/packages/1c/6b/03ba3b2ed148523c2cd4a879b056b258c946fa771dc24129add5fd964c12/httpfind-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9ec0cdc5153bae9bb87afc83a6731f40", "sha256": "ff8162acfbdb5c7639c93756451b4df8a5ef9f7f8638c2e3f2fa0245316fd17a" }, "downloads": -1, "filename": "httpfind-1.0.1.tar.gz", "has_sig": false, "md5_digest": "9ec0cdc5153bae9bb87afc83a6731f40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5507, "upload_time": "2018-03-18T16:49:23", "url": "https://files.pythonhosted.org/packages/61/66/92ee2ad624c022cbb54e7c8952ec890e083f91da90d6f25756ba6b99c496/httpfind-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bdfaa80eff7a508efe54b69f4b4c4a2a", "sha256": "0bab7c624ac3683493e42860750595b5828340e72bbc859e430f1fc42742501a" }, "downloads": -1, "filename": "httpfind-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bdfaa80eff7a508efe54b69f4b4c4a2a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8895, "upload_time": "2018-03-18T16:49:22", "url": "https://files.pythonhosted.org/packages/1c/6b/03ba3b2ed148523c2cd4a879b056b258c946fa771dc24129add5fd964c12/httpfind-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9ec0cdc5153bae9bb87afc83a6731f40", "sha256": "ff8162acfbdb5c7639c93756451b4df8a5ef9f7f8638c2e3f2fa0245316fd17a" }, "downloads": -1, "filename": "httpfind-1.0.1.tar.gz", "has_sig": false, "md5_digest": "9ec0cdc5153bae9bb87afc83a6731f40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5507, "upload_time": "2018-03-18T16:49:23", "url": "https://files.pythonhosted.org/packages/61/66/92ee2ad624c022cbb54e7c8952ec890e083f91da90d6f25756ba6b99c496/httpfind-1.0.1.tar.gz" } ] }