Serial Port Monitor (Sniffer)
Powerful and Flexible Serial Communication MonitoringOS: Windows and Linux only.
Debugging and analysis of serial communications can be incredibly challenging. Without the right tools, users often face issues like incomplete data visibility, difficulty identifying errors, and an inability to effectively analyze complex protocols. This can lead to wasted time, frustration, and missed opportunities to resolve critical issues efficiently.
How IO Ninja Makes Serial Port Monitoring Easy
Serial Monitor provides a comprehensive solution for all your serial communication needs. By offering features like detailed logging, flexible data views, and advanced analysis tools, Serial Monitor ensures you have complete control and understanding of your serial data. It simplifies troubleshooting, accelerates debugging, and empowers users to tackle even the most complex serial challenges.
What Makes Serial Monitor so Great?
"True" Serial Monitoring on Linux
Unlike many other so-called serial sniffers for Linux (that usually require you to redirect the IO streams of an application in order to monitor), our serial monitor intercepts calls between an application and the serial TTY kernel module, allowing direct monitoring of serial communications performed by applications on your Linux box.
Plain Text vs Binary
Some serial protocols are text-based (e.g., Modbus ASCII
), and some are binary (e.g., Modbus RTU
).
As a truly versatile serial monitor, IO Ninja doesn't limit you to one or the other and lets you choose the representation that works best in each particular case.
If you need to, you can switch between the two kinds of data views at any time.
Data vs Serial Events
Serial communications do not only consist of incoming and outgoing data.
There are control line changes (CTS
/RTS
/DSR
/DTR
), serial setting adjustments (baud/data/stop/parity), and so on.
IO Ninja records everything in a single continuous log sheet interleaving data bytes and informational messages — you have a clear and easy-to-follow timeline of events.
If you don't need these extra pieces of information — filter them out of the log to enjoy a clean and readable data view. However, nothing gets lost — all the serial event records can be brought back whenever you need them.
Regex Colorizer
Having too much information before your eyes can be counterproductive. IO Ninja helps you focus on what's important by automatically highlighting data in the log based on regular expression (regex) patterns. If you need to, you can define multiple regex patterns and assign different visual attributes to each of those — and this does not introduce any additional performance penalty. Yes, finding and colorizing many patterns is just as fast as colorizing one — how cool is that?!
Checksums, Throughputs, Time Differences
Many serial protocols use one of the standard checksums (CRC-8
, CRC-16
, SUM-8
, XOR-8
, etc.) to verify the integrity of data transmitted over an inherently lossy serial interface.
IO Ninja calculates all standard checksums on the fly as you select data in the log; then, it conveniently displays the results in a table.
Besides checksums, you also get local throughputs, time differences, byte offsets, data block lengths, 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 — Ctrl+C
always yields intuitive results.
Of course, you can also explicitly state your intentions for how to copy the data via the context menu. You can save chunks of data directly into a file, too.
View As X-Term
Serial Monitor is a non-intrusive sniffer and hence, doesn't allow transmission. However, you may want to know how the captured data looks in a terminal console.
IO Ninja features a fully compatible X-Term terminal view that allows you to render any portion of the captured data.
Just select a range of bytes and Play Selection In Terminal
.
Modbus RTU
Modbus RTU (especially over RS-485) is widely used in industrial automation, so it's no wonder that IO Ninja features the Modbus Analyzer plugin for decoding Modbus frames. Attach it as a layer to your Serial Monitor session and enjoy the human-readable representation of Modbus commands and replies. The original data is complemented, not replaced — so nothing is lost.
Monitor Remote Serial Ports
You can connect over SSH and monitor serial ports on remote machines. Typically, those machines will be Linux boxes, but it's possible to monitor remote ports in Windows, too.
First, make sure the SSH server and the Device Monitor (tdevmon
) service on the target machine are up and running.
Now, you can monitor serial ports on this remote machine over SSH just like you do with local ports!
Built on the Device Monitor Service
Serial Monitor uses the Device Monitor (aka tdevmon
) service, consisting of a kernel-mode module intercepting requests from applications to the specified devices and a user-mode configuration utility.
Installation and proper configuration of the Device Monitor service are sometimes stumbling points for users. Please follow these knowledge base articles for more information: