Introducing IO Ninja

IO Ninja is a professional, scriptable, multi-purpose terminal emulator, network sniffer and IO monitor. It's aimed at network security experts, system administrators, and all kinds of software/hardware/embedded developers.

IO Ninja 3.8.7 is out!

  • New Serial Tap hardware sniffer for IO Ninja

    We are proud to introduce a new hardware Serial Tap for IO Ninja. This is a simple yet functional and convenient sniffer for asynchronous serial links (RS-232, RS-422, RS-485, TTL-level UART). A native support for this sniffer device is provided via the Serial Tap plugin.

  • Dynamic linking to the Jancy library

    Starting with this release, we are going to use dynamic linking to the Jancy library. On Windows, we also have switched to dynamic linking to the Microsoft C Runtime and 3rd-party dependencies (such as OpenSSL or LibUSB). This allowed us to significantly reduce the footprint of IO Ninja binaries.

  • Lots of BUGFIXes and other improvements — as usual!

    For a full list of changes see changelog.txt (also included in all installation packages).


Out-of-the-box IO Ninja can be used as:

Performs serial communication using one of the installed COM/VCOM/CDC devices on your machine.

Establishes outbound connection over a TCP client-side socket.

Listens for and accepts inbound connection to a TCP server-side socket.

A man-in-the-middle for a TCP connection. Passes-through data between a TCP client and a TCP server while writing everything to the log.

Performs one-to-one or one-to-many UDP communication over a UDP socket without "connection" notation.

Establishes outbound SSH channel over a TCP client-side socket.

Performs reads and/or writes to a generic file stream — on-disk file, named pipe, non-standard device, etc.

Performs low-level direct USB communication over USB endpoints on a device.

Listens for and accepts inbound connection to a server-side Windows named pipe.

Monitors data transmitted over named pipes on your Windows machine — both local and remote (UNC).

Receives inbound messages to a server-side Windows mailslot.

Monitors data transmitted over mailslots on your Windows machine — both local and remote (UNC).

Monitors data transmitted over any of the installed COM/VCOM/CDC device on your machine.

Monitors data flowing through a RS-232/RS-422/RS-485/TTL serial link using our new hardware snifferSerial Tap.

Monitors data flowing through a generic dual COM tap-cable — such as EZ-Tap RS-232.

Monitors data flowing through popular tap-cables EZ-Tap Pro and Versa-Tap from Stratus Engineering Inc.

Reconstructs TCP communications from packets captured via Pcap and produced a clean data flow view.

Reconstructs UDP communications from packets captured via Pcap and produced a clean data flow view.

A data-centric front-end for Pcappayloads visible instantly in the main log!

Analyzes a serial communication log and generates a secondary log with decoded Modbus RTU messages.

Implements XModem protocol for file transmit/receive over ANY transportserial, TCP, UDP, named pipe, etc.

Efficiently colorizes RX/TX data according to preset regular expression patterns.

Immediatly transmits any inbound packet back — a simple, but effective testing tool. Needless to say, it works with ANY transport!

Platform Features

IO Ninja is powered by our innovative programming language Jancy tailor-made for IO and UI programming.

Need a non-standard network protocol analyzer, a device emulator or an IO testing utility? IO Ninja can be programmed to do the job.

IO Ninja comes with a convenient IDE and that means it's not only possible to customize it — it's fun (if you're a nerd, that is).

IO Ninja's advanced logging engine shows massive logs in a clean, easy-to-read way. It'll gracefully display informational text messages side-by-side with binary data blocks in either hex view or plain text representations.

IO Ninja has excellent support for binary data transmission.

Need a low-level IO terminal tool to send binary data over TCP? Or send hex to serial port? Ninja would be the best tool for binary packets transmission.

IO Ninja supports ANSI & X-Term terminal emulation; switch between log view and terminal console any time you want.

IO Ninja provides a powerful and elegant way of redirecting data from any transport to any other transport with Session Linking. Think Unix pipes, but better.

Write protocol analyzers or emulators, testing applications, and other utilities to extend existing sessions.

IPv6 is slowly but steadily taking over the Internet. IO Ninja is here to help testing IPv6-connectivity of your products.

No more question marks! IO Ninja can show and send characters in any Unicode encoding.

Unlimited Evaluation

IO Ninja is not freeware. If you keep using it, you have to purchase a license.

Unlike many shareware products, however, IO Ninja will not impose any functionality limitations during the evaluation period. We grant you the right to evaluate a fully-functional copy of IO Ninja as long as you need.

GitHub Resources

Feel free to inspect, fix and update the official IO Ninja plugins.

Use this public issue tracker to report bugs, suggest new features and discuss the further development of IO Ninja.


More screenshots...