{"id":17247178,"url":"https://github.com/nikitastupin/mitmproxy-mqtt-script","last_synced_at":"2025-06-19T02:36:59.994Z","repository":{"id":54455853,"uuid":"258001622","full_name":"nikitastupin/mitmproxy-mqtt-script","owner":"nikitastupin","description":"Inspect MQTT over TLS traffic with ease!","archived":false,"fork":false,"pushed_at":"2025-01-23T20:38:24.000Z","size":12,"stargazers_count":46,"open_issues_count":0,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-12T00:38:12.254Z","etag":null,"topics":["man-in-the-middle","mitm","mitmproxy","mqtt","ssl","tls"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nikitastupin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-22T19:36:29.000Z","updated_at":"2025-05-23T12:33:48.000Z","dependencies_parsed_at":"2025-04-14T06:02:51.290Z","dependency_job_id":"16831a0f-2542-4563-a68f-74ecaa52bfad","html_url":"https://github.com/nikitastupin/mitmproxy-mqtt-script","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nikitastupin/mitmproxy-mqtt-script","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitastupin%2Fmitmproxy-mqtt-script","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitastupin%2Fmitmproxy-mqtt-script/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitastupin%2Fmitmproxy-mqtt-script/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitastupin%2Fmitmproxy-mqtt-script/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nikitastupin","download_url":"https://codeload.github.com/nikitastupin/mitmproxy-mqtt-script/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikitastupin%2Fmitmproxy-mqtt-script/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260673693,"owners_count":23044990,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["man-in-the-middle","mitm","mitmproxy","mqtt","ssl","tls"],"created_at":"2024-10-15T06:36:32.840Z","updated_at":"2025-06-19T02:36:54.980Z","avatar_url":"https://github.com/nikitastupin.png","language":"Python","readme":"This script is ad-hoc solution for inspecting **MQTT over TLS** traffic. As far as I know Wireshark solves this problem but obtaining TLS master keys from IoT device might be a pain. Also you can log MQTT topics, just uncomment lines at the bottom of the `mqtt_message.py`.\n\n## Usage\n\nRun mitmproxy as `mitmproxy --mode transparent --tcp-hosts '.*' -s mqtt_message.py`. Messages will be displayed at the event log (press `shift + e`).\n\nOf course before that you have to prepare a target device and your host running mitmproxy:\n* Install mitmproxy's root certificate on a target device.\n* Route device's traffic to mitmproxy. See https://docs.mitmproxy.org/stable/ for the details.\n* https://docs.mitmproxy.org/stable/howto-transparent/.\n\nIf server requires x509 client authentication `--set client_certs=cert.pem` mitmproxy's option might be useful.\n\n## Roadmap\n\n- [x] [Add support for non-HTTP flows to the UI](https://github.com/mitmproxy/mitmproxy/issues/1020).\n- [ ] Implement parsing of MQTT packet types other than `CONNECT`, `PUBLISH` and `SUBSCRIBE`.\n- [ ] Add support for MQTT to mitmproxy including interception, modification and replay.\n\n## Credits\n\n* https://github.com/mitmproxy/mitmproxy/blob/master/examples/complex/tcp_message_buffer.py\n* https://github.com/eclipse/paho.mqtt.python/blob/master/src/paho/mqtt/client.py\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikitastupin%2Fmitmproxy-mqtt-script","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikitastupin%2Fmitmproxy-mqtt-script","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikitastupin%2Fmitmproxy-mqtt-script/lists"}