Home
Contents

LAN Analyzer and Protocol Decoder - CommView

Prev Page Next Page
 
Einführung
Über CommView
Was ist neu
Programmbenutzung
Überblick
Netzwerkschnittstelle zur Paketerfassung auswählen
Aktuelle IP Verbindungen
Pakete
Protokollierung
Logbetrachter
Regeln
Erweiterte Regeln
Alarme
Rekonstruktion von TCP-Sitzungen
UDP-Ströme rekonstruieren
Pakete suchen
Statistiken und Berichte
Die Verwendung von Kennnamen
Paketgenerator
Optischer Paketersteller
NIC Vendor (Hersteller) Identifier (Identifiziertool)
Scheduler
Der Einsatz des Remote Agent
RPCAP anwenden
Loopback Datentransfer erfassen
Port Referenz
Einstellungen
Häufig gestellte Fragen
VoIP-Analyse
Einleitung
Arbeiten mit dem VoIP-Analyser
SIP- und H.323-Sitzungen
RTP-Ströme
Registrierungen
Endpunkte
Fehler
Anrufprotokoll
Berichte
Anrufswiedergabe
VoIP-Protokollbetrachter
Arbeiten mit Auflistungen im VoIP-Analyser
NVF-Dateien
Weiterführende Themen
Erfassung von intensivem Verkehr
Arbeiten mit mehreren Instanzen
CommView im nichtsichtbaren Modus
Kommandozeilen Parameter
Datenaustausch mit Ihrer Anwendung
Maßgeschneidertes Decoding
CommView Logdateien Format
Einkauf und Support

Maßgeschneidertes Decoding

CommView ermöglicht die Verwendung von zwei selbstdefinierten Decoder-Arten:

Einfacher Decoder

Wenn Sie diesen Decodertyp wählen wird die Decoder-Ausgabe in einer Extraspalte im Register Pakete angezeigt. Der Decoder sollte dabei eine 32-bit DLL-Datei namens "Custom.dll" sein, die nur eine Prozedur namens "Decode" exportiert. Der Grundtyp dieser Prozedur wird im folgenden für C und Pascal gezeigt:

extern "C"

{ void __stdcall Decode(unsigned char *PacketData, int PacketLen, char *Buffer, int BufferLen); }

procedure Decode (PacketData: PChar; PacketLen: integer; Buffer: PChar; BufferLen: integer); stdcall;

Die DLL muß sich dabei im CommView Installationsverzeichnis befinden. Beim Start von CommView sucht es nach der Custom.dll im Installationsverzeichnis und lädt diese in den Speicher. Wenn der Eingangspunkt für Decode gefunden wurde, fügt CommView eine neue Spalte namens Custom (Selbstdefiniert) der Paketliste hinzu.

Wird ein neues Paket empfangen und angezeigt, ruft CommView die Decode-Prozedur auf und gibt die Paketinhalte an die DLL weiter. Die Decode-Prozedur muß nun die Paketinformation verarbeiten und kopiert dann das Ergebnis in den Puffer. Das erste Argument ist der Paket-Pointer zu den Paketdaten, das zweite Argument die Datenlänge und das dritte Argument der Pointer zum Puffer, in den die Ergebnisse des Decodings kopiert werden sollen. Das vierte Argument ist die Puffergröße (derzeit stets 1024 Bytes). Der gesamte Puffer ist für CommView zugeteilt und freigegeben. Sie sollten nicht versuchen diese Zuteilung zu ändern. Das in den Speicher kopierte Ergebnis wird dann als String in der Spalte Custom angezeigt.

Ihre Prozedur sollte schnell genug sein um tausende von Paketen/Sekunde zu verarbeiten. Sonst wird die Anwendung unnötig langsam. Bitte halten Sie sich auch an die Konvention STDCALL.

Zwei Demo-DLL’s sind verfügbar. Sie zeigen eine einfache Operation. Die Ausgabe der Decode-Funktion ist der Hexcode der letzten Byte des Paketes. Ihr eigener Decoder kann natürlich beliebig komplex sein:

http://www.tamos.com/products/commview/cust_decoder_c.zip. Dies ist ein Visual Studio Projekt mit C++ Quellcode.
http://www.tamos.com/products/commview/cust_decoder_d.zip. Dies ist ein Delphi-Project mit Pascal Sourcecode.

Komplexer Decoder

Bei der Verwendung dieses Decodertypes wird die Decoderausgabe als zusätzliche Objekte im Paketdecoderbaum angezeigt. Mehr zur Implementation dieses Decoders erhalten Sie durch das Herunterladen folgender Datei:

http://www.tamos.com/products/commview/complex_decoder_c7.zip

Diese Decoderart kann nur in Microsoft Visual C++ geschrieben werden, da es mit C++ erzeugte Klassen benutzt.

Technischer Support

Technischen Support für maßgeschneiderte Decoder gibt es auf der Basis von "Besten Ergebnissen". Wir sind leider nicht in der Lage auf Ihre Programmierfragen einzugehen.