ControlThings Serial
A highly flexible serial interface tool made for penetration testers.
Installation:
As long as you have git and Python 3.8 or later installed, all you should need to do is:
pip3 install ctserial
Or better yet, if you have uv installed, install it in an isolated environment with:
uv tool install ctserial
uv also lets you try the tool out without installing it by running:
uvx ctserial
Usage:
First, start the tool from a terminal. Then connect to your serial device and interact with it. For example:
ctserial> connect /dev/your-serial-device
ctserial> send hex deadc0de # sends actual hex, so 4 bytes
ctserial> send Dead Code 国 # sends full utf-8 string without spaces
ctserial> send "Dead Code 国" # Use quotes if you need spaces
ctserial> exit
Platform Independence
Python 3.6+ and all dependencies are available for all major operating systems. It is primarily developed on MacOS and Linux, but should work in Windows as well.
Development
If you are interested in modifying ctserial:
- Install Python's Poetry package at https://python-poetry.org/.
- Clone the
ctserialgithub repository. - Open a termainal to the cloned repository.
- Run
poetry installto create a new virtual environment and install an editable instance ofctserialwith its dependencies.
Author
- Justin Searle justin@controlthings.io
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ctserial-0.5.0.tar.gz.
File metadata
- Download URL: ctserial-0.5.0.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e5c238547e631428b42526113cb6831b7ed620104e9038480fe3b4df1d9a8af
|
|
| MD5 |
de0b715468454510006f39fc0dc6e75c
|
|
| BLAKE2b-256 |
1faa06cc9715fd03cd9af5a921f4a3bab86e7f6b78d4bc39110569128a3b66d1
|
Provenance
The following attestation bundles were made for ctserial-0.5.0.tar.gz:
Publisher:
publish.yml on ControlThings-io/ctserial
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ctserial-0.5.0.tar.gz -
Subject digest:
5e5c238547e631428b42526113cb6831b7ed620104e9038480fe3b4df1d9a8af - Sigstore transparency entry: 2543278940
- Sigstore integration time:
-
Permalink:
ControlThings-io/ctserial@58abc1856e8759f9b1cb13eacd49b726324be779 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/ControlThings-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@58abc1856e8759f9b1cb13eacd49b726324be779 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ctserial-0.5.0-py3-none-any.whl.
File metadata
- Download URL: ctserial-0.5.0-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e08ba1d21e7daeae09ef1541f20c1438b4ad0dded5826af158f12bccae33ec00
|
|
| MD5 |
f04f91893ae9aa73ac3a632c086617d6
|
|
| BLAKE2b-256 |
b8137659f5c81c3d6c1f819ca98c160b927eac1be4c38ece21626131b4e76e30
|
Provenance
The following attestation bundles were made for ctserial-0.5.0-py3-none-any.whl:
Publisher:
publish.yml on ControlThings-io/ctserial
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ctserial-0.5.0-py3-none-any.whl -
Subject digest:
e08ba1d21e7daeae09ef1541f20c1438b4ad0dded5826af158f12bccae33ec00 - Sigstore transparency entry: 2543278998
- Sigstore integration time:
-
Permalink:
ControlThings-io/ctserial@58abc1856e8759f9b1cb13eacd49b726324be779 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/ControlThings-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@58abc1856e8759f9b1cb13eacd49b726324be779 -
Trigger Event:
push
-
Statement type: