IO Ninja is an all-in-one scriptable terminal, sniffer and monitor. It is aimed at system administrators, network security experts and developers of communication software, firmware and hardware. IO Ninja is free for non-commercial usage. Out-of-the-box IO Ninja can be used as: Serial terminal; TCP terminal (both client and server); UDP terminal with support for UDP broadcasts; SSH terminal; Windows named pipe terminal; Generic file terminal (for working with custom device drivers, named pipes or FIFOs); Serial monitor; Network sniffer with support for injecting user-defined frames; TCP proxy (combination of TCP server and TCP client), The latest version of IO Ninja has excellent support for binary data -- both editing binary packets before sending as well as displaying both incoming and outgouing (RX/TX) binary data in a communication log: Text editor with support for escape sequences like \n, \e \xFF, \u2661. Hex editor with support for nibble edition, insert/overwrite, copy/paste/undo/redo etc Support for all UTF encodings. Template packet editor (define a packet structure in Jancy language and then fill in the fields using property grid). Binary data is interleaved with informational textual messages thus creating a clean single-sheet log. Display binary data as hex-view or plain text. Merge incoming (as well as outgoing) binary packets together. Merged packet boundaries are (optionally) highlighted in a checker pattern. Multiple modes of binary data copy (copy-as-text, copy-as-hex, copy-as-C-array, save-as-file). IO Ninja features Session Linking which turns it to a universal redirector. Create two sessions (possibly, of completely different nature), configure them and then link them together. All the data will be passed-through from one end to another and vice versa. IO Ninja is programmable with Jancy language and it means that IO Ninja is basically a universal IO debugger. It will do whatever you tell it to with any of its supported IO interfaces. Just to give you a hint of what's possible with Jancy scripting in IO Ninja: Modify any standard session provider; Write custom protocol analyzers; Write your own implementation of any protocol; Write filters to hide or colorize data based on user-defined logic; Write any testing utilities, like: wait for incoming packets, analyze them, send something in return. We provide IO Ninja IDE to assist you in exploring and making use of IO Ninja scripting.
What's new in this version:
Version 3.3.2 brings programmability in Jancy language, new and improved UI (user interface), session linking, transport-independent layer plugins, amd64 (x86_64) processor architecture support, Linux support, IO Ninja IDE.