iotsploit-cli
IoTSploit interactive CLI shell for IoT security testing.
Overview
This package provides the iotsploit command-line shell built on top of cmd2.
It bundles the core console loop (console.py) and all command modules
(commands/) that implement device management, plugin execution, target
management, network operations, and more.
Installation
pip install iotsploit-cli
Usage
iotsploit
Or with the Django server started immediately:
iotsploit --runserver
Custom plugins
IOTSPLOIT_EXPLOIT_PLUGINS_DIR can be used for user custom exploit plugins.
IOTSPLOIT_DEVICE_PLUGINS_DIR can be used for user custom device plugins.
Command Palette
The IoTSploit shell includes a live command palette for all commands. When you type any character at the top-level interactive prompt, a menu appears immediately showing every eligible command matching that prefix with a short description beside each entry.
How it works
- Start typing any character at the empty prompt.
- The menu lists all visible commands matching the typed prefix (e.g.
eshowsedit,exploit,exit,execute_plugin;hshowshelp,history). - Additional characters filter the list in real time (e.g.
exnarrows toexit,execute_plugin,exploit). - Navigate the list, insert a selection, or dismiss the menu.
Keyboard controls
| Key | Behavior |
|---|---|
| Any first-token character | Open the palette menu |
| Additional characters | Filter the list case-insensitively |
| Up / Down | Move selection without changing the buffer |
| Tab | Insert the selected command name (does not submit) |
| Enter | Accept the selected command and submit through cmd2 dispatch |
| Escape | Close the menu and retain the current input text |
| Backspace to empty | Close the menu |
| Space after a command | Close the menu and allow argument entry |
| Ctrl+C | Cancel the current input (normal shell behavior) |
| Ctrl+D on empty line | Exit the shell (normal EOF behavior) |
Behaviour notes
- The palette is TTY-only. Non-interactive use (piped input, startup scripts, non-TTY stdin) bypasses the palette entirely and uses the normal cmd2 input path.
- The command list is derived dynamically from the runtime command registry, so newly loaded command modules appear without editing the palette.
- Tab completion for arguments (after a space) still uses cmd2's existing completion engine, including argument-specific completers and argparse completers.
- Selecting a command from the palette does not execute it; it inserts the command name so you can type arguments before pressing Enter.
License
GPL-3.0-or-later. See LICENSE for details. For commercial use, contact wang3919379@gmail.com.
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 iotsploit_cli-0.0.8.tar.gz.
File metadata
- Download URL: iotsploit_cli-0.0.8.tar.gz
- Upload date:
- Size: 28.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4d816fe6a1cdebcc7172d37e769bb0eab574e35cf03a33d202be99e42ca44c2
|
|
| MD5 |
0e98e423baaaf395d9e54c9fd9aff194
|
|
| BLAKE2b-256 |
65fc24ac2a7a9410e72b024212a94dd9b89f57842d37eb9f1225b8910017a414
|
File details
Details for the file iotsploit_cli-0.0.8-py3-none-any.whl.
File metadata
- Download URL: iotsploit_cli-0.0.8-py3-none-any.whl
- Upload date:
- Size: 33.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f1a4a24a6e155a66daeaf6a8527a6707bc922b6fed8ddc75874da2814b3e92e
|
|
| MD5 |
c07f7f3f694bd0245f4188afdc79838b
|
|
| BLAKE2b-256 |
ed4787735a2f910cb4f128c08c9c32cf83d51bbefecc2d9c107959cb98b30662
|