{ "info": { "author": "Hans-Peter Jansen", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "Summary\n=======\n\nFetch and generate ethercodes data for arpwatch.\n\nDescription\n-----------\nFetch current IEEE MA-L Assignments file (oui.csv) from IEEE.org,\nand generate ethercodes.dat for arpwatch consumption.\n\nFetch oui.csv only, if the timestamp is newer (unless --force is given).\nSimilar, generate ethercodes.dat only, if the timestamps don't match\n(again, unless --force is given). Use option --keep to (re)generate\nethercodes.dat from an existing oui.csv.\n\nNotes\n-----\nThe timestamps of oui.csv fluctuate in a 2 seconds range(!). Therefore\ncompensate the fluctuation by taking a deltat tolerance factor into\naccount.\n\nUsage\n-----\n\n```\nUsage: fetch-ethercodes.py [-hVvfkt][-T sec][-O ouifile][-o outfile][-p spec]\n -h, --help this message\n -V, --version print version and exit\n -v, --verbose verbose mode (cumulative)\n -f, --force force operation\n -k, --keep keep existing http://standards-oui.ieee.org/oui/oui.csv\n -t, --timestamp print timestamp\n -T, --deltat sec tolerance in timestamp comparison\n (default: 2.5 sec.)\n -O, --ouifile file IEEE.org host\n (default: http://standards-oui.ieee.org/oui/oui.csv)\n -o, --outfile file arpwatch ethercodes\n (default: ethercodes.dat)\n -p, --patch spec patch specfile with updated timestamp\n```\n\nExample run\n-----------\n\n```\n$ fetch-ethercodes.py -v\ncheck http://standards-oui.ieee.org/oui/oui.csv\noui file size: 2264884\noui file date: Wed, 26 Sep 2018 08:06:13 GMT\nno local file oui.csv found\nfetch http://standards-oui.ieee.org/oui/oui.csv\nno local file ethercodes.dat found\nparse oui.csv\nvalue 0:1:c8 exists already: \"THOMAS CONRAD CORP.\", \"CONRAD CORP.\"\nvalue 8:0:30 exists already: \"NETWORK RESEARCH CORPORATION\", \"ROYAL MELBOURNE INST OF TECH\"\nvalue 8:0:30 exists already: \"NETWORK RESEARCH CORPORATION\", \"CERN\"\ngenerate ethercodes.dat with 25433 entries\nsuccessful\ntimestamp: 20180926_080613\n```\n\nAn additional tool `query-ethercodes.py` is provided, that allows to query the \nethercodes.dat database.\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/frispete/fetch-ethercodes", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "fetch-ethercodes", "package_url": "https://pypi.org/project/fetch-ethercodes/", "platform": "", "project_url": "https://pypi.org/project/fetch-ethercodes/", "project_urls": { "Homepage": "https://github.com/frispete/fetch-ethercodes" }, "release_url": "https://pypi.org/project/fetch-ethercodes/0.5/", "requires_dist": null, "requires_python": ">=3", "summary": "Fetch and generate ethercodes data for arpwatch", "version": "0.5" }, "last_serial": 4486711, "releases": { "0.3": [ { "comment_text": "", "digests": { "md5": "b7a37087db99f26fadca32264de15a4f", "sha256": "093f261c336cd8817a17f23a8773f0225ec0cd7ba838615424424425f057a548" }, "downloads": -1, "filename": "fetch-ethercodes-0.3.tar.gz", "has_sig": false, "md5_digest": "b7a37087db99f26fadca32264de15a4f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 5702, "upload_time": "2018-09-26T11:21:57", "url": "https://files.pythonhosted.org/packages/22/10/1f694082d06b4485227b5b0c45e652b7032241a024fd4580225d4bb0e504/fetch-ethercodes-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "fe47bebf8f60468262bbdebc512e1960", "sha256": "bac847a9eaeaa19d248a4a894691cf20cae149561d3d2cdea04e95ed0f025909" }, "downloads": -1, "filename": "fetch_ethercodes-0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fe47bebf8f60468262bbdebc512e1960", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6592, "upload_time": "2018-11-14T18:02:02", "url": "https://files.pythonhosted.org/packages/63/fe/73c497f1a3cc609ec8e7cabcf05d8dbb0b345e9751adbe973f9ac57a504f/fetch_ethercodes-0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b42fae950fc31231250eb1c08dd057c0", "sha256": "7149e6a837a1118259272e408a90ee8738ed0a4a6ae43e8471b9091b1a067714" }, "downloads": -1, "filename": "fetch-ethercodes-0.4.tar.gz", "has_sig": false, "md5_digest": "b42fae950fc31231250eb1c08dd057c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6792, "upload_time": "2018-11-14T18:02:00", "url": "https://files.pythonhosted.org/packages/55/8f/21a76a7bd25d6fb8aeb41a111d195576d96cec10b45447e9489d39ae2c07/fetch-ethercodes-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "91e8d4d85b7d210c34df5de0617c5acd", "sha256": "0e69d429da37047f1e420befb1a89209e9b9a7ceb21f5e4fd6e4742fce42a160" }, "downloads": -1, "filename": "fetch_ethercodes-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "91e8d4d85b7d210c34df5de0617c5acd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 6594, "upload_time": "2018-11-14T19:12:06", "url": "https://files.pythonhosted.org/packages/73/a5/51403c06ae98b3410532b6a8a1b2add5b6d30f809fd9e8642cb1e7051d99/fetch_ethercodes-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7835930575518af427c8423fed951754", "sha256": "7107b94d80991b2940bd904d8f33c8419c222c7f08b1b1748be11b60e807d051" }, "downloads": -1, "filename": "fetch-ethercodes-0.5.tar.gz", "has_sig": false, "md5_digest": "7835930575518af427c8423fed951754", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 6845, "upload_time": "2018-11-14T19:12:08", "url": "https://files.pythonhosted.org/packages/54/6d/0b8076a49aa3f4187264c76f9c9237823e1fcbc87a6b8ee683193edc96a5/fetch-ethercodes-0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "91e8d4d85b7d210c34df5de0617c5acd", "sha256": "0e69d429da37047f1e420befb1a89209e9b9a7ceb21f5e4fd6e4742fce42a160" }, "downloads": -1, "filename": "fetch_ethercodes-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "91e8d4d85b7d210c34df5de0617c5acd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 6594, "upload_time": "2018-11-14T19:12:06", "url": "https://files.pythonhosted.org/packages/73/a5/51403c06ae98b3410532b6a8a1b2add5b6d30f809fd9e8642cb1e7051d99/fetch_ethercodes-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7835930575518af427c8423fed951754", "sha256": "7107b94d80991b2940bd904d8f33c8419c222c7f08b1b1748be11b60e807d051" }, "downloads": -1, "filename": "fetch-ethercodes-0.5.tar.gz", "has_sig": false, "md5_digest": "7835930575518af427c8423fed951754", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 6845, "upload_time": "2018-11-14T19:12:08", "url": "https://files.pythonhosted.org/packages/54/6d/0b8076a49aa3f4187264c76f9c9237823e1fcbc87a6b8ee683193edc96a5/fetch-ethercodes-0.5.tar.gz" } ] }