|
CommView bietet ein einfaches TCP/IP-Interface, dass es Ihnen ermöglicht von CommView empfangene Pakete zu verarbeiten, während Sie gleichzeitig Ihre eigene Applikation in Echtzeit verwenden. Ab Version 5.0 können Sie mit diesem Interface auch Pakete senden (analog zur Paketgeneratorfunktion in CommView).
So geht das
CommView sollte mit dem speziellen Kommandozeilenargument MIRROR gestartet werden. Dieses fordert das Programm auf empfangene Pakete an eine bestimmte IP-Adresse und einen TCP-Port Ihrer Wahl zu spiegeln.
Beispiele:
CV.EXE mirror:127.0.0.1:5555 // spiegelt die Pakete in die Loopbackadresse, TCP Port 5555
CV.EXE mirror:192.169.0.2:10200 // spiegelt die Pakete nach 192.169.0.2, TCP Port 10200
Wenn CommView mit einem solchen Schalter gestartet wurde, versucht es eine TCP-Session durch Verbinden zu der definierten IP- Adresse bzw. Portnummer zu generieren. Das bedeutet, dass Sie bereits die Anwendung laufen lassen und einen bestimmten Port abhören lassen. Wenn CommView keine Verbindung erzeugen kann, versucht das Programm alle 15 Sekunden eine Neuverbindung herzustellen. Dies geschieht auch bei einem Verbindungsabbruch. Auch hier versucht CommView alle 15 Sekunden eine Neuverbindung herzustellen. Wenn diese Verbindung erfolgreich hergestellt wurde sendet CommView die gesammelten Pakete in Echtzeit zu dieser definierten IP-Adresse.
Daten Format
Die Daten werden im NCF-Format übertragen. Mehr dazu unter CommView Logdateien Format.
Senden von Paketen
Pakete können von Ihrer Anwendung nicht nur empfangen, sondern auch mittels des Paketgenerators gesendet werden. Dabei sendet CommView die Daten über dieselbe TCP-Verbindung, über die Sie auch die Daten erhalten. Das Datenformat ist einfach. Sie sollten die Paketlänge (2 Byte lange unsignierte Interger) und danach das Paket selbst senden. Wenn das Adapter nicht geöffnet wurde oder keine Paketinjection erlaubt, wird das Paket ohne Hinweis verworfen.
Beispielprojekte
Zwei einfache Demoanwendungen, die auf eingehende Verbindungen hören extrahieren Pakete aus dem Stream und zeigen sofern vorhanden die Rohdaten.
Bandbreite
Wenn Sie Daten auf einem entfernten Computer spiegeln, sollten Sie sicherstellen, dass der Link zwischen CommView und dem Ziel der Spiegelung schnell genug ist, um die empfangenen Daten alle zu transportieren. Wenn CommView 500 KBytes/sec empfängt und Ihr Link nur 50 KBytes/sec versenden kann, werden Sie zwangsläufig einen Datenstau bekommen, der verschiedene Probleme erzeugen kann. Z.B. könnte Winsock bei einigen Windowsversionen aufhören Daten zu senden.
|