Welcome to IO Ninja
Versatile Terminal, Sniffer, Protocol Analyzer
Offers a FREE evaluation of all features,
no credit card required.
IO Ninja is a professional all-in-one terminal emulator, sniffer, and protocol analyzer. It runs natively on Windows, Linux, and macOS.
IO Ninja is highly modular and has plugins for most transports and protocols you might come across — network (TCP
, UDP
, SSL
, SSH
, WebSockets
, etc.), serial (RS-232
, RS-485
, I2C
, SPI
, Modbus RTU
, etc.), and others (named & anonymous pipes, USB endpoints, J-Link RTT, etc.).
IO Ninja is scriptable and allows you to generate packets programmatically, react to incoming packets and other IO events, and create non-standard protocol analyzers.
IO Ninja is your swiss-army knife for debugging communications and a must-have tool for network security experts, system administrators, and all developers who deal with network programming in their line of work.
IO Ninja Is Used At
IO Ninja 5.7.0 is out!
Major release- NEW: UI themes — choose between different QT styles and light or dark themes on all platforms!
- NEW: BACnet MS/TP Analyzer plugin
- NEW: encoded fields in the packet template engine
- NEW: reactive statements in Jancy reactors
- Critical update for the Device Monitor for Linux regarding Intel CET
- Numerous critical fixes in various modules
See also
- See changelog.txt for a detailed list of changes
- Previous release announcements
Hardware Sniffers
We proudly present you the three hardware sniffers for IO Ninja. These devices are simple yet functional and convenient sniffers for asynchronous serial links (RS232, RS422, RS485, TTL-level UART), synchronous serial links (I2C, SPI), and Ethernet.
Hardware sniffers DO NOT require a subscription or any paid capabilities! Plugins for IO Ninja hardware are always ENABLED and can be used under any IO Ninja account (includuing GUEST).
IO Ninja is much more than just a client for taps! Hardware sniffers come with 3 months of FREE subscription that unlocks all IO Ninja features!
Interfaces, Transports, Protocols
Serial
Serial remains one of the most widely used interfaces in IoT and industrial automation. IO Ninja provides you with a rich toolset for debugging serial communications.
Ethernet
Hardware and software Ethernet sniffers in IO Ninja shine at the live reconstruction of TCP & UDP data streams. We also provide full interoperability with the industry leader in packet capture — Wireshark.
I2C & SPI
Our hardware sniffer for I²C/SPI will give you the most convenient and easy-to-follow data view of I²C and SPI data streams. It works better than logic analyzers when you are interested in high-level data rather than low-level signal details.
TCP
TCP is rightfully called the language of the Internet. IO Ninja turns you into a professional linguist in this department.
UDP
As a transport UDP doesn't provide the convenience and guarantees of TCP. Nevertheless, UDP has its undisputed domain of application. With IO Ninja, you have all the necessary tools to troubleshoot connectionless UDP communications.
SSL
SSL is the transport of the modern Web. IO Ninja gives you powerful terminals to work on both the client and server sides of SSL connections.
SSH
Whenever you talk to a remote Linux box, you need SSH — so, of course, there's a convenient SSH terminal in IO Ninja.
WebSocket
WebSockets are widely used in Web applications nowadays. IO Ninja features both client and server-side terminals to help debug your next WebSocket application.
Pipes
Named and anonymous pipes are important methods of inter-process communications (IPC). IO Ninja provides unique tools for pipe traffic generation and analysis. A must-have for CompuSec researchers!
USB & HID
We proudly present the low-level USB endpoint terminals and monitors — indispensable tools when developing or analyzing USB devices. There're also specialized tools for HID (Human Interface Devices such as keyboards, mices, joysticks, etc.)
Automation
IO Ninja is the best Modbus analyzer on the market, and we plan to expand the list of supported automation protocols gradually. Our protocol analyzers are implemented as layers so that they can be applied to raw data captured with any plugin.
Why You Should Use IO Ninja
Text vs Binary
Some protocols are text-based, and some are binary. Choose the representation that works best in each particular case and switch between the two kinds of data views any time you want.
Clear Timeline
Communications consist of more than just incoming and outgoing data — there are all kinds of other events (connect, disconnect, error, etc.) IO Ninja records everything in a single continuous log sheet to give you a clear timeline of events.
Log Regex Markup
Having too much information before your eyes can be counterproductive. Give yourself some visual aids by marking the log up with colors and packet delimiters — based on regular expression patterns.
Checksum Calculator
Many protocols use checksums to verify the integrity of data. IO Ninja calculates all standard checksums on the fly as you select data in the log, then conveniently displays the results in a table together with local throughputs, time differences, byte offsets, etc.
Multiple Copy Modes
Copy data from the log any way you want — as text, hex, C-array, etc.
IO Ninja is smart and can guess what you want from the selection pattern so that a simple Ctrl+C
always yields intuitive results.
Terminal Emulator
Sometimes, all you want is the classic terminal rendition of the incoming data. IO Ninja features a fully compatible X-Term terminal view to let you work with remote Linux boxes normally.
Transmission Facilities
IO Ninja features convenient and powerful tools for preparing packets before transmission. There's a plain text editor, a modern hex editor, and a file transmit facility — choose what works best.
Packet Templates
Even with a good hex editor, encoding fields of a binary packet by hand is hard and error-prone. With the Packet Template engine, you describe the packet structure in a C-like language, then conveniently edit your packet in the property grid.
Packet Library
Every time you transmit a packet, it goes to the Packet History pane. Re-transmit any packet with a double click, assign mnemonic names to packets, and build libraries of packets used in your line of work.
Redirect Anything
The Session Linking engine lets you redirect anything to anything — Serial
⇆ TCP
, UDP
⇆ SSL
, SSH
⇆ WebSocket
, etc. Start and configure two sessions, then click Link Sessions
, and voila! All the data will be propagated from one session to the other.
Scriptable
Sometimes you need to automate your testing routine. With the Script Pane, you can generate packets programmatically, wait for and react to events, automatically respond to incoming packets, etc.
Extensible Arch
IO Ninja is highly modular, and all the plugins are open-source. See how they are implemented, modify any to your liking, or build something completely new. To make things convenient, do it with the code-assisting IDE that we use ourselves!