ES gibt sowas wie virtuelle NULL-Model-Kabel.
z.B. Umleitung/Verbindung von/zwischen COM3 zu COM4 > neue vortuelle Ports, die intern verbunden sind.
Dein Sniffer-hängt sich z.B. an den eigenlichen COM1 und leitet die Daten an COM3 weiter und umgekehrt.
Dabei kann es alles protokollieren.
Und das Zielprogramm hängt dann am COM4.
Programm A <-> COM4 <-> COM3 <-> dein Sniffer <-> COM1 <-> USB-Hardware
null modem emulator
null modem treiber
null modem driver
...