Gibt es eine freie Möglichkeit, einen seriellen Anschluss unter Windows 7 x64 zu überwachen?

15

Ich habe mich ein bisschen umgesehen, aber ich muss noch einen freien Weg finden, um einen seriellen Port zu überwachen (ohne ihn für andere Anwendungen zu öffnen oder zu blockieren), der unter Windows 7 64-Bit funktioniert.

Auch Microsofts eigenes Portmon funktioniert nicht. In einigen Beiträgen wurde darüber gesprochen, es im Kompatibilitätsmodus auszuführen, aber bei mir funktioniert es nicht. Ich habe den Kompatibilitätsmodus für Windows XP Service Pack 2 und 3 (die einzigen, die in der Dropdown-Liste verfügbar sind) ausprobiert und auch nicht zugelassen, dass er funktioniert.

Gibt es eine Möglichkeit, einen seriellen Anschluss für Windows 7 64-Bit zu überwachen?

Xantham
quelle
2
PortMon von MS / Sysinternals würde nicht funktionieren, da der Treiber von der Bit-Qualität des Betriebssystems abhängt. Im Gegensatz zu Usermode-Programmen, die WOW64 verwenden können, um eine 32-Bit-App auf einem x64-System auszuführen.
0xC0000022L

Antworten:

1

Ich habe gerade Advanced Serial Port Monitor ausprobiert . "Spy" -Modus macht genau das, was Sie wollen.

Es ist nur kostenlos zu versuchen. Sie müssen jedoch für eine dauerhafte Lösung bezahlen.

MARK C
quelle
1

Eine Problemumgehung, die ich in der Vergangenheit verwendet habe, als ich genau in der gleichen Situation war, in der Sie eine 32-Bit-VM verwendet haben.

Es ist nicht die beste Lösung, aber es funktioniert und es entstehen keine Kosten (abgesehen von den Kosten für die Einrichtung Ihrer VM-Umgebung).

Scott Chamberlain
quelle
Was wäre ein Beispiel für eine VM?
Peter Mortensen
Sie sagen also, dass eine VM einen Port auf dem Host überwachen kann, ohne ihn für Anwendungen auf dem Host zu blockieren? Ich dachte, dass Host-Geräte für den Host oder den Gast zugänglich sein könnten , aber nicht für beide.
Scott
1
@Scott Er schlägt vor, dass PortMon, das in einer 32-Bit-VM ausgeführt wird, die serielle Verbindung der VM überwachen könnte.
Jpaugh
1

Wenn Sie einen anderen Computer haben, empfehle ich, ein POSIX-Betriebssystem auszuführen und socatdie Daten von einem Port zum anderen weiterzuleiten, während Sie den Datenverkehr protokollieren. Dies ist im Grunde wie eine hardwarebasierte Lösung, verwendet jedoch Universalhardware anstelle von etwas Besonderem. zB so etwas:

sudo socat -x -v -d /dev/ttyUSB0,b115200,rawer,cr /dev/ttyUSB1,b115200,rawer,cr

Das Schöne an diesem Programm ist, dass es sehr flexibel ist, was Sie mit was verbinden können. Sie können TCP / IP - Sockets verwenden, Dateien / Streams usw. umwandeln Baudraten, ändern Zeilenenden usw. Einführende Artikel (datiert 2009 , aber immer noch nützlich) ist verfügbar hier .

Bearbeiten: Nur um zu verdeutlichen, anstatt eine Hardware-Konfiguration wie folgt zu haben:

Main computer serial port <--> Device serial port

Es wäre so:

Main computer serial port <--> sniffer computer serial port 1 Device serial port <--> sniffer computer serial port 2

iX3
quelle
Stimmt, aber es ermöglicht es einem, alle Daten zu beobachten, die über den physischen Port gesendet oder empfangen werden. Da das OP nicht spezifiziert hat, ob der "Port" abstrakt / Software oder physisch / Hardware ist, denke ich, dass dies immer noch eine faire Antwort ist.
iX3
@jpaugh Ich verstehe nicht was du meinst. Was "läuft nicht"? Diese Lösung ermöglicht die Verwendung von Software oder Hardware, solange die Daten über einen physischen Port fließen. Schließen Sie einfach einen zusätzlichen Computer / ein zusätzliches Gerät an die Verbindung an und führen Sie socatden Vorgang aus, um die Daten während der Protokollierung weiterzuleiten. Ich werde der Antwort ein einfaches Diagramm hinzufügen, in der Hoffnung, dies zu klären.
iX3
Okay. Ja, ich habe falsch verstanden. Jetzt, da ich es verstehe, glaube ich nicht, dass Sie etwas Falsches gesagt haben. Ursprünglich bin ich hierher gekommen, um mit einem virtuellen seriellen Gerät a la USB umzugehen, daher wäre dies in diesem Fall natürlich nicht sinnvoll. Tut mir leid wegen taht.
Jpaugh
1
Für das Debuggen von USB-Verbindungen empfehle ich Folgendes
iX3