{ "info": { "author": "Darren Spruell", "author_email": "phatbuckett@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: ISC License (ISCL)", "Programming Language :: Python :: 3" ], "description": "# aslookup\nPython client for IP to ASN lookup services\n\naslookup is a client utility for two of the public IP/AS query services\noperated by the following organizations:\n\n* Shadowserver -- https://www.shadowserver.org/wiki/pmwiki.php/Services/IP-BGP\n* Team Cymru -- http://www.team-cymru.org/IP-ASN-mapping.html\n\nThe client implements both a simple Python module (aslookup) as well as a CLI\nutility (`as-lookup`). The lookups are currently done using DNS, which works\nwell for a one-off lookups. It is not optimized for bulk lookups over the\nWhois protocol.\n\nCurrently only IPv4 addresses are looked up. The client also maintains a\nlisting of IP networks which are unroutable internet addresses, typically\nspecial use ranges in RFCs. In this way it can both filter out addresses from\nqueries which are a waste of time, as well as provide context to the user on\nthe address.\n\n## Installation\n\nThe app has been tested on Python 3. The script requires the *dnspython*\npackage. If missing, it will be installed automatically.\n\nIt's best to install the program into a Python virtualenv.\n\nRecommended installation from PyPI using pip (make sure to use the pip or\npython command from your target Python 3 environment)!\n\n pip3 install aslookup\n\n## Usage\n\n### Python module\n\nThe Python module defaults to querying the Shadowserver data service. The\ndesired service may be specified by passing the *service* parameter to\n`get_as_data`.\n\n```python\nfrom aslookup import get_as_data\nip = '8.8.8.8'\nget_as_data(ip, service='cymru')\n```\n\n### CLI script\n\nIt is possible to provide multiple IP addresses as arguments to the script, or \nto send them as a list on standard input, in which cases the script loops over \nthem and returns output on separate lines. When providing invalid IPv4 \naddresses as arguments, the script reports the problem on standard error and \nexits with an error. When providing input on stdin, the error is reported on \nstandard output but execution is not aborted.\n\n as-lookup 8.8.8.8 11.22.33.44\n\n### Test data\n\nA list of test values for the script is included in the file `test_input.txt`.\nThis can be useful to validate included IP prefix classifications and see the\noutput format.\n\n as-lookup < test_input.txt\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dspruell/aslookup", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "aslookup", "package_url": "https://pypi.org/project/aslookup/", "platform": "", "project_url": "https://pypi.org/project/aslookup/", "project_urls": { "Homepage": "https://github.com/dspruell/aslookup" }, "release_url": "https://pypi.org/project/aslookup/1.0.7/", "requires_dist": [ "dnspython", "pytricia" ], "requires_python": "", "summary": "IP to AS routing data query script", "version": "1.0.7" }, "last_serial": 5287351, "releases": { "0.20": [ { "comment_text": "", "digests": { "md5": "0a58de5157e739d42e571a2fbcfd1ae3", "sha256": "6a58e7c8fd1a56e03c28bd7ac550fda1790915bc98a270101340bdb2b8935a3a" }, "downloads": -1, "filename": "aslookup-0.20-py3-none-any.whl", "has_sig": false, "md5_digest": "0a58de5157e739d42e571a2fbcfd1ae3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5932, "upload_time": "2019-02-24T02:57:53", "url": "https://files.pythonhosted.org/packages/cc/cc/a3a53e66950be704e58641da2854556dca26a5cee110e340d241ab0f02e0/aslookup-0.20-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b43373a20016e9faa872603595f8c025", "sha256": "1b773c591660c7181f51b3d51eecb4b0f5f9142b28f238711567829578bca8eb" }, "downloads": -1, "filename": "aslookup-0.20.tar.gz", "has_sig": false, "md5_digest": "b43373a20016e9faa872603595f8c025", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5800, "upload_time": "2019-02-24T02:57:55", "url": "https://files.pythonhosted.org/packages/3c/7d/e1a09f1ab13dc4ee56e239cb8a9db7d4e59e30b3257eccae809a8143b1a1/aslookup-0.20.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "6cf4d29eeef2483166d560da3ea8724e", "sha256": "f6f058a2d865a76525e2e689715cfaa37407e40c22ace5c9a107d5e6eeb89ab4" }, "downloads": -1, "filename": "aslookup-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "6cf4d29eeef2483166d560da3ea8724e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10915, "upload_time": "2019-02-25T05:56:40", "url": "https://files.pythonhosted.org/packages/cd/0f/5ab7d3b75d8f0021c7e46cfbbac7120fcb575034fdedd7ebc9940ecccc8c/aslookup-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "291b23e5ed7292980d5ffd3af6a6635c", "sha256": "6c9bd6c64f053b42234520f0e42fe387b23f7a89f8cf2c54b4610241af174ec7" }, "downloads": -1, "filename": "aslookup-1.0.2.tar.gz", "has_sig": false, "md5_digest": "291b23e5ed7292980d5ffd3af6a6635c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5631, "upload_time": "2019-02-25T05:56:42", "url": "https://files.pythonhosted.org/packages/fd/8b/15249689aa3c50e79d058f6a55268e2b6194a18e9fd2e632cf99705913cf/aslookup-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "c6f264abd9cf851388dc4ee54cbf7d04", "sha256": "f0516510b83f1ea9d65fb795e0e8bf975cb9bf699b6586bd8c1b2e8fe9eb3bef" }, "downloads": -1, "filename": "aslookup-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c6f264abd9cf851388dc4ee54cbf7d04", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10940, "upload_time": "2019-02-25T06:07:04", "url": "https://files.pythonhosted.org/packages/90/39/1b9af88bb5bb6b63a4378d900a96c5ba2f626ab6fee11a40ae2ed2d77a84/aslookup-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "63ee21ef83bbb05cd018dedb4223a8a4", "sha256": "f46186c48502c1f8861b2b33e867bbe04105279537695b079fd6760db58b3f9d" }, "downloads": -1, "filename": "aslookup-1.0.3.tar.gz", "has_sig": false, "md5_digest": "63ee21ef83bbb05cd018dedb4223a8a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5667, "upload_time": "2019-02-25T06:07:06", "url": "https://files.pythonhosted.org/packages/04/4b/2b22d7f366212fc5399ff26aebf96cf20ab8ca0b990bb1ac21e26000fc97/aslookup-1.0.3.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "5c1f353cdff3d0d166f8f6153449bddd", "sha256": "a20f20821736983ab6c52bc919efe418fcaadde6c0eb9ec0e35ef8f0d3aa4715" }, "downloads": -1, "filename": "aslookup-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "5c1f353cdff3d0d166f8f6153449bddd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11478, "upload_time": "2019-05-19T06:04:05", "url": "https://files.pythonhosted.org/packages/cf/3b/c09fc409fa0daca8da16d291e6ee04fc7838eaa58840d22bef2f5cc8e9b9/aslookup-1.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bf2bae9334993cd8b72c32455e1468d5", "sha256": "a9ab7f2d6dba1c66ba3cd8bc80398c0ad67d3fb149cffa49bf55f16b4dd92982" }, "downloads": -1, "filename": "aslookup-1.0.6.tar.gz", "has_sig": false, "md5_digest": "bf2bae9334993cd8b72c32455e1468d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6096, "upload_time": "2019-05-19T06:04:07", "url": "https://files.pythonhosted.org/packages/3d/f9/5c8da496b2923e8dfd3b14b21173c0a4f82fa14d28a0921a3a382c2674cf/aslookup-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "eac49bf3f958b009190c004b147586fd", "sha256": "af7c226eb72f19c3acbd165f8f9dc7cb0e88d041040797cd7dd82b30c517b39b" }, "downloads": -1, "filename": "aslookup-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "eac49bf3f958b009190c004b147586fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11468, "upload_time": "2019-05-19T06:10:07", "url": "https://files.pythonhosted.org/packages/9c/bd/789e3839047d07668b79a3bf196ab2ab4adea80f0d3138166d4cbd6e683b/aslookup-1.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4aa30c6725b8d96ec973c92057b75fe5", "sha256": "7eeafc1d26689f5252932245f049f440f41629e7e24d4970b205a045a66039af" }, "downloads": -1, "filename": "aslookup-1.0.7.tar.gz", "has_sig": false, "md5_digest": "4aa30c6725b8d96ec973c92057b75fe5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6087, "upload_time": "2019-05-19T06:10:09", "url": "https://files.pythonhosted.org/packages/16/7c/6a6faebb6ca253cf453e78e974bdff50c1caaa3bd29a94b9848f1ed0795f/aslookup-1.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "eac49bf3f958b009190c004b147586fd", "sha256": "af7c226eb72f19c3acbd165f8f9dc7cb0e88d041040797cd7dd82b30c517b39b" }, "downloads": -1, "filename": "aslookup-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "eac49bf3f958b009190c004b147586fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11468, "upload_time": "2019-05-19T06:10:07", "url": "https://files.pythonhosted.org/packages/9c/bd/789e3839047d07668b79a3bf196ab2ab4adea80f0d3138166d4cbd6e683b/aslookup-1.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4aa30c6725b8d96ec973c92057b75fe5", "sha256": "7eeafc1d26689f5252932245f049f440f41629e7e24d4970b205a045a66039af" }, "downloads": -1, "filename": "aslookup-1.0.7.tar.gz", "has_sig": false, "md5_digest": "4aa30c6725b8d96ec973c92057b75fe5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6087, "upload_time": "2019-05-19T06:10:09", "url": "https://files.pythonhosted.org/packages/16/7c/6a6faebb6ca253cf453e78e974bdff50c1caaa3bd29a94b9848f1ed0795f/aslookup-1.0.7.tar.gz" } ] }