{ "info": { "author": "Spencer McIntyre", "author_email": "zeroSteiner@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Security", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "protocon\n========\n\nProtocon is a socket-centric framework for rapidly prototyping\nconnections through simple send and receive commands. Think socat with\npretty hex output and more send / receive automation control.\n\n|asciicast|\n\nInstalling\n----------\n\nProtocon requires Python 3.4+ and can be installed via pip using the\ncommand ``python3 -m pip install protocon``.\n\nExample Usage\n-------------\n\nManual Mode\n~~~~~~~~~~~\n\nStarting Protocon requires a ``target_url`` argument which describes the\ntype of socket to open and the endpoint to connect to. Protocon will\nthen switch to an interactive console where various commands are\navailable to send and receive data.\n\n::\n\n user@localhost:~$ ./protocon tcp://github.com:22\n [*] Loaded 4 connection drivers\n [+] Initialized protocon engine v1.0 at 2017-12-22 08:13:09\n [+] Connected to: tcp://github.com:22\n pro > # this is a comment\n pro > # next we're going to receive all the data we can read in 1 second\n pro > recv_time 1\n [*] RX: 22 bytes (CRC: 0xd533)\n 0000 53 53 48 2d 32 2e 30 2d 6c 69 62 73 73 68 5f 30 SSH-2.0-libssh_0\n 0010 2e 37 2e 30 0d 0a .7.0.. \n pro > exit\n\nTrans(script) Mode\n~~~~~~~~~~~~~~~~~~\n\nWhen starting Protocon, one or more resource files containing commands\ncan be specified and will be executed in sequence.\n\n::\n\n user@localhost:~$ ./protocon udp://8.8.8.8:53 examples/dns_query.txt \n [*] Loaded 4 connection drivers\n [+] Initialized protocon engine v1.0 at 2017-12-22 08:26:28\n [+] Connected to: udp://8.8.8.8:53\n encoding - was: utf-8\n now: hex\n [*] TX: 55 bytes (CRC: 0xa139)\n 0000 37 49 01 20 00 01 00 00 00 00 00 01 03 77 77 77 7I. .........www\n 0010 06 67 6f 6f 67 6c 65 03 63 6f 6d 00 00 01 00 01 .google.com.....\n 0020 00 00 29 10 00 00 00 00 00 00 0c 00 0a 00 08 4e ..)............N\n 0030 c1 3b 36 79 86 a5 d5 .;6y... \n [*] RX: 59 bytes (CRC: 0x5210)\n 0000 37 49 81 80 00 01 00 01 00 00 00 01 03 77 77 77 7I...........www\n 0010 06 67 6f 6f 67 6c 65 03 63 6f 6d 00 00 01 00 01 .google.com.....\n 0020 c0 0c 00 01 00 01 00 00 00 57 00 04 ac d9 06 e4 .........W......\n 0030 00 00 29 02 00 00 00 00 00 00 00 ..)........ \n [*] The connection has been closed\n\nFor more examples of resource files, see the `examples\ndirectory `__.\n\nData Expansion\n--------------\n\nData passed by the user (such as the parameter to the ``send`` and\n``recv_until`` commands) will be expanded using a basic escape sequence.\nAdditionally these sequences can be escaped by being prefixed with\n``\\``.\n\n+------------+------------------------+\n| Sequence | Description |\n+============+========================+\n| ``\\\\`` | Literal backslash |\n+------------+------------------------+\n| ``\\n`` | New line |\n+------------+------------------------+\n| ``\\r`` | Carrige return |\n+------------+------------------------+\n| ``\\t`` | Tab |\n+------------+------------------------+\n| ``\\x00`` | Literal byte ``0x00`` |\n+------------+------------------------+\n| ``${var}`` | Variable named ``var`` |\n+------------+------------------------+\n\nVariables\n~~~~~~~~~\n\nThe expansion supports variables inserted with ``${var}``. The following\nvariables are defined automatically.\n\n+------------------+---------------------------------+\n| Variable Name | Description |\n+==================+=================================+\n| ``url.host`` | The host portion of the URL |\n+------------------+---------------------------------+\n| ``url.password`` | The password portion of the URL |\n+------------------+---------------------------------+\n| ``url.port`` | The port portion of the URL |\n+------------------+---------------------------------+\n| ``url.scheme`` | The scheme portion of the URL |\n+------------------+---------------------------------+\n| ``url.username`` | The username portion of the URL |\n+------------------+---------------------------------+\n\nCredits\n-------\n\n- Spencer McIntyre - zeroSteiner\n (`@zeroSteiner `__)\n\n.. |asciicast| image:: https://asciinema.org/a/153917.png\n :target: https://asciinema.org/a/153917\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/zeroSteiner/protocon", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "protocon", "package_url": "https://pypi.org/project/protocon/", "platform": "", "project_url": "https://pypi.org/project/protocon/", "project_urls": { "Homepage": "https://github.com/zeroSteiner/protocon" }, "release_url": "https://pypi.org/project/protocon/1.2.5/", "requires_dist": null, "requires_python": "", "summary": "Protocon is a socket-centric framework for rapidly prototyping connections through simple send and receive transcripts.", "version": "1.2.5" }, "last_serial": 4467861, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "d2fc8ab3b616a1ea44ba3451563294bf", "sha256": "7bb00999a29effb67b98d3710ff48b04cdf76308985371c5714405dd3f490971" }, "downloads": -1, "filename": "protocon-1.0.tar.gz", "has_sig": false, "md5_digest": "d2fc8ab3b616a1ea44ba3451563294bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10444, "upload_time": "2017-12-22T14:43:01", "url": "https://files.pythonhosted.org/packages/ef/e1/3cc96d48ca425723377a5e8deeb531031919fbf562cb176374c3f35528d2/protocon-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "6ec590145edf49e93fb55bca4218b196", "sha256": "2e47cdd646846da2a29f578ccb2e27b6cccc8e58a6f235acb5c5203260ec4012" }, "downloads": -1, "filename": "protocon-1.0.1.tar.gz", "has_sig": false, "md5_digest": "6ec590145edf49e93fb55bca4218b196", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10468, "upload_time": "2017-12-22T17:51:29", "url": "https://files.pythonhosted.org/packages/58/53/4535a9d5134723933342fc235ad769af7573341f8fb8e8b7514a9fa5c734/protocon-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "8f78fefbc98ab5d8df8aa45a532ddad5", "sha256": "1594f3d31b18f3565ea801dddf28558c9bf8765fa1305167f3a19c57848f76dd" }, "downloads": -1, "filename": "protocon-1.0.2.tar.gz", "has_sig": false, "md5_digest": "8f78fefbc98ab5d8df8aa45a532ddad5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10474, "upload_time": "2018-02-13T19:15:00", "url": "https://files.pythonhosted.org/packages/8c/1d/154582ab696626f605ea0243cbe381f826d08dc653860e31f96f1cef0da1/protocon-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "50f06acd7fe807a873993f2e92ba4de9", "sha256": "9dccde2376d2c1f8c8bdf51a7e2cb1c0566f4ac66ce494d11ef62a156c9d7dff" }, "downloads": -1, "filename": "protocon-1.0.3.tar.gz", "has_sig": false, "md5_digest": "50f06acd7fe807a873993f2e92ba4de9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10517, "upload_time": "2018-02-16T00:39:15", "url": "https://files.pythonhosted.org/packages/7d/4e/3f79a1036df8e096aa60d44bd00ef04b6c9e8a5782686d1bbfebafec645f/protocon-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "935c1e01357f7d6df33dd08a01f4fec2", "sha256": "0c3cc9f156b8107de019b46b78c84327154e00dcaf39d977c69cc604eafe7910" }, "downloads": -1, "filename": "protocon-1.1.0.tar.gz", "has_sig": false, "md5_digest": "935c1e01357f7d6df33dd08a01f4fec2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10637, "upload_time": "2018-03-03T23:30:18", "url": "https://files.pythonhosted.org/packages/56/86/0fc543bd929183c586f28ff2baadc35fa43241c31cbf777890c19235e492/protocon-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "80fc70dd6a643f65a0e55fcd7bcc5431", "sha256": "bab950b78a7d1fe36b8e857ce1e033f23dbcb0aaef4ac36d4d15b483529b5d92" }, "downloads": -1, "filename": "protocon-1.2.0.tar.gz", "has_sig": false, "md5_digest": "80fc70dd6a643f65a0e55fcd7bcc5431", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11827, "upload_time": "2018-03-13T01:32:44", "url": "https://files.pythonhosted.org/packages/80/e8/79fb24efb243c08942ffe755aa36a0fc8effcbd40611f1be5aae80e22155/protocon-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "44e205197adf08882392e8208612de5d", "sha256": "fc54c4b52436ee95d963f0d46d680fc1f47199a7a822026890350323ef77353f" }, "downloads": -1, "filename": "protocon-1.2.1.tar.gz", "has_sig": false, "md5_digest": "44e205197adf08882392e8208612de5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13683, "upload_time": "2018-03-13T13:12:21", "url": "https://files.pythonhosted.org/packages/4a/a5/679520dd8031f92d1ef189d01516c857477c8f50bfc81cbc3b5814646e2f/protocon-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "8b9570e7908abf6a6c9fa54d791cd9c2", "sha256": "fdb8215bd156ffc549b6622cf0c75bbb13e1a9f0b69798d5912e021b5e7d936e" }, "downloads": -1, "filename": "protocon-1.2.2.tar.gz", "has_sig": false, "md5_digest": "8b9570e7908abf6a6c9fa54d791cd9c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14499, "upload_time": "2018-03-28T17:25:20", "url": "https://files.pythonhosted.org/packages/a7/19/c0db5b444eacfef7fcc202da876d4678730c65ebff4381f8705fec285f07/protocon-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "40e42835b42b9a450d7001a666b3d33f", "sha256": "328d83e3dbc61a7d2afb60549c79a5d8f3d8b823a27d459737d5522ca6a71174" }, "downloads": -1, "filename": "protocon-1.2.3.tar.gz", "has_sig": false, "md5_digest": "40e42835b42b9a450d7001a666b3d33f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12658, "upload_time": "2018-04-15T18:49:21", "url": "https://files.pythonhosted.org/packages/71/b5/e74b1455ef69026cf11311ba2809e0758c8c7af6a1f873589d86af46c692/protocon-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "bde75488a9563661591ea5377a6a5af2", "sha256": "bfca0d298cf74f571de5a8d142717d90020325ced9233adedc4cd46c3b4a5202" }, "downloads": -1, "filename": "protocon-1.2.4.tar.gz", "has_sig": false, "md5_digest": "bde75488a9563661591ea5377a6a5af2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13331, "upload_time": "2018-08-10T23:42:39", "url": "https://files.pythonhosted.org/packages/ef/10/a358b8268d01508928bb49e9985eb0cde54729672f2e99a66c03bc49e1ad/protocon-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "19f5d89a6b258c476e481d43a728e350", "sha256": "e72cc3c11c298c1f7994e8b0c367db09e99f650e07fe70e103ef1b37a511168b" }, "downloads": -1, "filename": "protocon-1.2.5.tar.gz", "has_sig": false, "md5_digest": "19f5d89a6b258c476e481d43a728e350", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14517, "upload_time": "2018-11-09T01:16:23", "url": "https://files.pythonhosted.org/packages/d0/ae/c2b3899fb1a4ba5fb38f2d3bcd4ade6e4349f76c9c30ed2d44465e2517b4/protocon-1.2.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "19f5d89a6b258c476e481d43a728e350", "sha256": "e72cc3c11c298c1f7994e8b0c367db09e99f650e07fe70e103ef1b37a511168b" }, "downloads": -1, "filename": "protocon-1.2.5.tar.gz", "has_sig": false, "md5_digest": "19f5d89a6b258c476e481d43a728e350", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14517, "upload_time": "2018-11-09T01:16:23", "url": "https://files.pythonhosted.org/packages/d0/ae/c2b3899fb1a4ba5fb38f2d3bcd4ade6e4349f76c9c30ed2d44465e2517b4/protocon-1.2.5.tar.gz" } ] }