As others have said, you're not looking for a terminal emulator, per se. You're looking for serial analyzer software.
Not sure I understand that. I need a terminal interface to a COM port. I just want it to show the transmitted and received data in different colors, or brightness or backgrounds. Otherwise, it is a simple terminal application.
One problem I have is that the term "terminal" seems to also be used for command line interfaces. I had a different setup, where I was using something like SSH to log into an rPi which was connected via a serial port to an embedded target. Trying to find a terminal emulator for Linux is nearly impossible, because they consider the command line to be a terminal emulator! lol
I don't recall the setup I ended up with, but I had to run something on the PC to log into the rPi, (maybe Putty), then a different program on the rPi to connect to the target via the comm port. The trick in that case was handling all the details of control characters, as to which were intercepted by whom. But once I found the right tool, it worked well, other than not being able to reset the target since the com port was USB. There are a few USB hubs that let you control power to the USB ports, but
very few.
In this case, I have a dumb device (that I'm designing) to receive commands, and provide replies. I'm really trying to test the comms interface, which will have speed issues unless I can optimize the interface. So the need for a way to directly interact with the com ports.
Heck, maybe I'm better off developing my own. The existing app sends all comms to a telnet app, along with ANSI controls to set the bold feature for one direction and not for the other. Since every command ends with a CR/LF pair, it naturally displays on alternate lines.
Some of the free options mentioned, such as YAT and HTerm, will probably meet your needs. Proper analyzer software goes way beyond terminal emulators and will clearly show Rx and Tx traffic, control characters and flow control behavior, and per-character high resolution timestamps.
I don't recall all the details, but I've yet to find one that does everything I need.
Early in my software/firmware engineering career I did tons of industrial serial development, troubleshooting, and reverse engineering. I made my own serial "sniffer" cable assemblies to tap serial connections and, depending on where I was working and what I was working on, used both commercial and custom software that I wrote to do what I needed. There wasn't much in the way of "open source" nor the internet at that time, so options were limited to expensive commercial options (or scopes/HW decoders) or write your own serial software.
This is over Ethernet or USB, so no sniffer cables involved. It's going to be purely software or nothing at all. I'm trying to keep the software simple, to ease debugging issues, but the adapter vendors don't cooperate by selling stuff which can keep the actual serial port humming at over 1 Mbps. They all have delays that kick in when the application needs to wait for a reply. I'm going to have to modify the protocol to send a burst of commands, and force the slaves to wait for the bus to be clear to send their replies. I think I have a scheme to do that.
One suggestion was to send extra characters between the commands to allow the slaves to reply. This would be very messy to look at on an analyzer. YUK!