A highly flexible serial interface tool made for penetration testers.
As long as you have git and Python 3.8 or later installed, all you should need to do is:
pip3 install ctserialOr better yet, if you have uv installed, install it in an isolated environment with:
uv tool install ctserialuv also lets you try the tool out without installing it by running:
uvx ctserialFirst, 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> exitPython 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.
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.
- Justin Searle justin@controlthings.io