{ "info": { "author": "Ryan Holeman", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python :: 2" ], "description": "# PyUbertooth\n* Python libraries for Ubertooth\n\n## Project Description:\n* The goal of PyUbertooth is to provide libraries and tools to interact with an ubertooth device in python.\n* All modules and libraries provided by PyUbertooth provide pure python implementations.\n* Cpython implementations will be provided in the future, but will always have pure python alternatives.\n\n## Core PyUbertooth Libraries:\n* pyubertooth/ubertooth.py: Provides direct access to an ubertooth device.\n* pyubertooth/bluetooth_packet.py: Provides methods and data structures for converting ubertooth data into bluetooth baseband data.\n\n## Core PyUbertooth Tools:\n* pyubertooth_rx: This file provides some CLI functionality to control the ubertooth.\n* ubertooth_dump: A simple script to dump data from an ubertooth device to a file. This dump data is compatible with the ubertooth C libraries and tools (i.e. used with the -i flag with the ubertooth-rx tool).\n\n## Upcoming Milestones:\n* Finish up porting over all USB get/set/mode command functions (WIP)\n* The library is still lacking verbose doc strings. These will be added soon and all of my shitty useless comments will get cleaned up\n* Rewrite my pure python libbtbb lib (WIP)\n* Create Ctypes libbtbb bindings (WIP)\n* Rewrite my ubertooth scapy rx layer\n* Create an ubertooth scapy tx layer\n\n-------------------------------\n\n# Core CLI Script: pyubertooth_rx\n* A pure python interface to an ubertooth device.\n* TODO: Switch to \\*args, \\*\\*kwargs for my argparse methods\n* TODO: Many of the simple ubertooth usb contols will be added soon (such as led control, etc)\n* TODO: Full python library documentation.\n\n### Sample command line usage:\n##### For usage help:\n pyubertooth_rx --help\n\n##### To log ubertooth data to a file (usable with ubertooth-rx -i filename):\n pyubertooth_rx --outfile=dump_filename.dump\n\n##### To log ubertooth data directly to a file from bluetooth channel 60:\n pyubertooth_rx --outfile=dump_filename.dump --channel 60\n\n##### To log 30 seconds worth of ubertooth data directly to a file :\n pyubertooth_rx --outfile=dump_filename.dump -t 30\n\n##### To log 300 ubertooth usb data packets directly to a file :\n pyubertooth_rx --outfile=dump_filename.dump -n 300\n\n##### To read raw ubertooth usb data from a dump file to std out:\n pyubertooth_rx --infile=dump_filename.dump\n\n##### To display bluetooth packet information from a dump file (LAP, UAP, channel, etc):\n pyubertooth_rx --infile=dump_filename.dump --btbb\n\n##### To display bluetooth packet information from a live stream (LAP, UAP, channel, etc):\n pyubertooth_rx --btbb\n\n### Sample python library usage:\n##### To open a connection to an ubertooth device:\n from pyubertooth.ubertooth import Ubertooth\n ut = Ubertooth()\n\n##### To access 5 data blocks from an ubertooth device as a python iterator:\n from pyubertooth.ubertooth import Ubertooth\n ut = Ubertooth()\n for data in ut.rx_stream(count=5):\n print data\n ut.close()\n\n##### To access data blocks from an ubertooth device as a python iterator for 30 seconds:\n from pyubertooth.ubertooth import Ubertooth\n ut = Ubertooth()\n for data in ut.rx_stream(secs=30):\n print data\n ut.close()\n\n##### To access data from an ubertooth device until ctrl-C is pressed:\n from pyubertooth.ubertooth import Ubertooth\n ut = Ubertooth()\n try:\n for data in ut.rx_stream():\n print data\n except KeyboardInterrupt:\n pass\n ut.close()\n\n##### An example of directly streaming ubertooth data to a file for 60 seconds:\n from pyubertooth.ubertooth import Ubertooth\n ut = Ubertooth()\n f = open(\"dump_filename.dump\", 'wb')\n for data in ut.rx_stream(secs=60):\n f.write(data)\n f.close()\n ut.close()\n\n##### Changing the channel on an ubertooth device:\n from pyubertooth.ubertooth import Ubertooth \n ut = Ubertooth()\n ut.set_channel(66)\n\n--------------------------\n\n# Core Library: pylibbtbb/bluetooth_packet.py\n* This is a pure python implementation of bluetooth_packet from libbtbb. It serves as library for python applications. It is currently in its early stages and based off of the c library libbtbb and some of my ugly POC code \n* LAP & channel detection is working (still needs some cleanup).\n* UAP and packet type detection still needs ported from my alpha POC code.\n* TODO: utilized the pure python module BitVector.\n* TODO: be as cool as the C libbtbb\n\n### Sample python library usage:\n##### To display bluetooth packet data for an ubertooth device stream: \n from pyubertooth.ubertooth import Ubertooth() \n from pyubertooth.bluetooth_packet import BtbbPacket\n ut = Ubertooth()\n for data in ut.rx_stream():\n print BtbbPacket(data=data)\n ut.close()\n\n----------------------------\n\n# Core Tools: tools/ubertooth_dump.py\n* A simple stand alown pure python script to dump data from an ubertooth into a file. The dump format is compatible with the ubertooth-rx tool. This allows for data to be collected in python and parsed with the core ubertooth libraries.\n\n## To dump data from an ubertooth to a file:\n python ubertooth_dump.py dump_filename.dump\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/haim0n/pyubertooth", "keywords": "", "license": "", "maintainer": "Haim Daniel", "maintainer_email": "", "name": "pyubertooth", "package_url": "https://pypi.org/project/pyubertooth/", "platform": "", "project_url": "https://pypi.org/project/pyubertooth/", "project_urls": { "Homepage": "https://github.com/haim0n/pyubertooth" }, "release_url": "https://pypi.org/project/pyubertooth/0.2/", "requires_dist": [ "pyusb" ], "requires_python": "", "summary": "Pure Python Library for Ubertooth", "version": "0.2" }, "last_serial": 3935443, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "e3255cc8c880d59d7401cb9f52ca6d46", "sha256": "aec12a93306fa8612998df413c7abc2db7e784c95346c8016503054e2b26c9a3" }, "downloads": -1, "filename": "pyubertooth-0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "e3255cc8c880d59d7401cb9f52ca6d46", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 17389, "upload_time": "2018-06-06T10:36:52", "url": "https://files.pythonhosted.org/packages/dd/bd/1d91651c8b440f33fca59bc8dddb36734070f1e6285671f45893a0cd4f13/pyubertooth-0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4fc544e25179aa86ec26b50e42fb5782", "sha256": "4856b3d7ae32867baec6905ad1eee8ee747491f53203ef1389ad18b9ce8f3345" }, "downloads": -1, "filename": "pyubertooth-0.2.tar.gz", "has_sig": false, "md5_digest": "4fc544e25179aa86ec26b50e42fb5782", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16069, "upload_time": "2018-06-06T10:36:54", "url": "https://files.pythonhosted.org/packages/23/df/14589527c6029db06b075abcb0f73993824d12c1ea60d341b69f58864920/pyubertooth-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e3255cc8c880d59d7401cb9f52ca6d46", "sha256": "aec12a93306fa8612998df413c7abc2db7e784c95346c8016503054e2b26c9a3" }, "downloads": -1, "filename": "pyubertooth-0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "e3255cc8c880d59d7401cb9f52ca6d46", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 17389, "upload_time": "2018-06-06T10:36:52", "url": "https://files.pythonhosted.org/packages/dd/bd/1d91651c8b440f33fca59bc8dddb36734070f1e6285671f45893a0cd4f13/pyubertooth-0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4fc544e25179aa86ec26b50e42fb5782", "sha256": "4856b3d7ae32867baec6905ad1eee8ee747491f53203ef1389ad18b9ce8f3345" }, "downloads": -1, "filename": "pyubertooth-0.2.tar.gz", "has_sig": false, "md5_digest": "4fc544e25179aa86ec26b50e42fb5782", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16069, "upload_time": "2018-06-06T10:36:54", "url": "https://files.pythonhosted.org/packages/23/df/14589527c6029db06b075abcb0f73993824d12c1ea60d341b69f58864920/pyubertooth-0.2.tar.gz" } ] }