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
Entschlüsselten SSL-Datenverkehr erfassen
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
Information
Einkauf und Support

Erweiterte Regeln

Erweiterte Regeln sind die mächtigsten und flexibelsten Regeln. Sie ermöglichen Ihnen komplexe Filter basierend auf Bool’scher Logik zu implementieren. Um diese zu nutzen brauchen Sie grundlegende Kenntnisse in Mathematik und Logik. Die Regelsyntax ist aber leichtverständlich.

processrules

Übersicht

Um eine neue Regel hinzuzufügen müssen Sie einen beliebigen Namen im Eingabefeld Name eingeben, wählen Sie dann die Aktion Pakete erfassen/ignorieren. Geben Sie eine Formel nach der weiter unten erklärten Syntax ein und klicken anschließend auf [Hinzufügen/Editieren]. Die neue Regel wird hinzugefügt und ist augenblicklich aktiv. Es können beliebig viele Regeln hinzugefügt werden. Es sind jedoch nur die Regeln aktiv, die eine aktivierte Checkbox neben ihrem Namen haben. Die Regeln können über die entsprechenden Checkboxen aktiviert/deaktiviert werden. Zum endgültigen Löschen von Regeln verwenden Sie den Button [Löschen]. Wenn mehrere Regeln aktiv sind, können Sie das Ergebnis abschätzen, indem Sie [Auswerten] anklicken. Mehrere aktive Regeln werden über den logischen ODER-Operator gekoppelt, wenn Sie also drei aktive Regeln haben, nennen wir sie REGEL1, REGEL2, REGEL3, ist das Ergebnis gültig, sobald mindestens eine der drei Regeln zutrifft.

Sie können Erweiterte Regeln in Verbindung mit konventionellen Regeln des vorherigen Kapitels verwenden. Wenn Sie mit boolscher Logik vertraut sind ist es empfehlenswert nur die erweiterten Regeln zu verwenden da diese eine mehrfache Flexibilität offerieren. Die Grundregeln werden über einen logischen UND-Operator mit den Fortgeschrittenenregeln verknüpft.

Syntax Beschreibung

dir – Paketrichtung. Mögliche Werte sind in (inbound), out (outbound), und pass (pass-through).

etherproto – Ethernet Protokol, das 13. und 14. Byte des Paketes. Erlaubte Werte sind Zahlen (wie etherproto!=0x0800 für IP) oder allgemeine Kennnamen (wie etherproto=ARPm was gleichwertig zu 0x0806 ist).

ipproto IP Protokoll. Erlaubt sind Zahlen (wie ipproto=0x06 für TCP) oder allgemeine Kennnamen (wie ipproto=UDP, was gleichwertig zu 0x11 ist).

smac Source MAC Adresse. Erlaubt sind hier MAC-Adressen in Hexnotation (wie smac=00:00:21:0A:13:00F) oder benutzerdefinierte Kennnamen.

dmac Destination MAC Addresse (Ziel-MAC-Adresse).

sip – Source IP oder IPv6-Adresse. Erlaubt sind IP-Adressen in Punktnotation (wie sip=192.168.0.1 oder sip= fe80::02c0:26ff:fe2d:edb5), IP-Adressen mit Wildcards (wie sip!=*.*.*.255 mit Ausnahme von IPv6 addresses), Netzwerkadressen mit Subnet-Masken (wie sip=192.168.0.4/255.255.255.240 oder sip=192.168.0.5/28), IP-Bereiche (wie sip from 192.168.0.15 to 192.168.0.18 oder sip in 192.168.0.15 .. 192.168.0.18 ) oder benutzerdefinierte Kennnamen. Die Benutzung von IPv6-Adressen erfordert Windows XP oder höher und die IPv6-Stapelung muss installiert sein.

dip - Ziel-IP- oder IPv6-address.

sport Source Port (Ausgangs-Port) für TCP- und UDP-Pakete. Erlaubt sind Zahlen (wie sport=80 für HTTP), Bereiche (wie sport von 20 bis 50 oder sport in 20..50 für alle Portnummer zwischen 20 und 50) oder die vom Betriebssystem definierten Kennnamen (wie sport=ftp, was gleichwertig zu 21 ist). Um die Liste aller Betriebssystemkennnamen zu erhalten klicken Sie bitte auf Ansicht => Portreferenz.

dport Ziel-Port (Ziel-Port) für TCP- und UDP-Pakete.

flag TCP flag. Erlaubt sind Zahlen (wie 0x18 für PSH ACK) oder ein bzw. mehrere der folgenden Zeichen: F (FIN), S (SYN), R (RST), P (PSH), A (ACK), und U (URG) oder das Schlüsselwort has (ist). Dies bedeutet, dass das Flag einen bestimmten Wert enthält. Beispiele: flag=0x18, flag=SA, flag has F.

size Packet size (Paketgröße). Erlaubt sind Zahlen (wie size=1514) oder Bereiche (wie size from 64 to 84 oder size in 64..84 für jede Größe zwischen 64 und 84).

str – Paketinhalt. Wählen Sie dieses Argument, wenn das Paket einen bestimmten String enthalten muß. Es gibt drei Argumente: string, position und case sensitivity (Groß-/Kleinschreibung beachten). Das erste Argument ist ein String, wie 'GET'. Das zweite Argument ist eine Zahl, welche die Stringposition (Offset) im Paket festlegt. Das Offset ist nullbasierend, d. h. wenn Sie das erste Byte des Paketes suchen, muss der Offsetwert 0 sein. Wenn das Offset ohne Bedeutung ist, wählen sie –1. Das dritte Argument legt die Bedeutung der Groß-/Kleinschreibung fest. Es ist entweder false (case-insensitive) oder true (case-sensitive). Das zweite und dritte Argument sind optional. Wenn hier nichts eingetragen wird ist der Standardwert –1 und die case-sensitivity Einstellung ist false. Beispiele: str('GET',-1,false), str('GET',-1), str ('GET').

hex Paketinhalt. Verwenden Sie diese Funktion, wenn das Paket bestimmte Hexadezimalwerte enthalten muß. Diese Funktion hat zwei Argumente: Hexmuster und Position. Das erste Argument ist ein Hexwert, wie 0x4500. Das zweite Argument ist eine Zahl, welche die Musterposition (Offset) im Paket definiert. Das Offset ist nullbasierend, d. h. wenn Sie das erste Byte des Paketes suchen, muss der Offsetwert 0 sein. Wenn das Offset ohne Bedeutung ist, wählen sie –1. Das zweite Argument ist optional, wenn es weggelassen wird, ist die Standardeinstellung –1. Beispiele: hex(0x04500, 14), hex(0x4500, 0x0E), hex (0x010101).

bit - Paketinhalt. Mit dieser Funktion ermitteln Sie, ob ein bestimmtes Bit eines definierten Offsets auf 1 gesetzt ist, so dass die Funktion true ausgegeben wird. Sollte das definierte Bit 0 sein oder außerhalb der Paketgrenzen liegen, so ergibt die Funktion false. Diese Funktion hat zwei Argumente: Bit-Index und Byte-Position. Das erste Argument ist der Bit-Index im Byte. Die erlaubten Werte sind hier im Bereich 0-7. Der Index ist nullbasierend, d. h. wenn Sie das 8. Bit suchen ist der Indexwert 7. Das zweite Argument ist die Zahl, die die Byte-Position (Offset) im Paket definiert. Auch dies ist nullbasierend, d. h. das 1. Bit hat den Wert 0. Beide Argumente sind zwingend notwendig. Beispiele: bit(0, 14) , bit(5, 1).

Die oben genannten Schlüsselwörter können mit den folgenden Operatoren verwendet werden:

and - Bool’sche Verknüpfung.

or - Bool’sche Unterscheidung.

not - Bool’sche Verneinung.

= - Arithmetisch gleich.

!= - Arithmetisch ungleich.

<> - Arithmetisch ungleich.

> - Arithmetisch größer als.

< - Arithmetisch kleiner als.

( ) Runde Klammer, Operatorenvorrangsregel.

Zahlen entweder in Dezimal- oder Hexadezimalschreibweise. In der Hexnotation muß 0x vor jeder Zahl stehen, z. B. 15 oder 0x0F.

Beispiele

Folgende Beispiele zeigen die Regelsyntax. Jede Regel besitzt einen Kommentar zur Regelerklärung. Die Kommentare folgen nach zwei Schrägstrichen. Die Kommentare folgen nach zwei Schrägstrichen.

·dir!=pass // Erfasst nur ankommende und ausgehende Pakete. Durchgehende Pakete von anderen LAN Teilnehmen werden ignoriert.

·(smac=00:00:21:0A:13:00E or smac=00:00:21:0A:13:00F) and etherproto=arp // Empfängt die ARP-Pakte, die von den zwei Computern 00:00:21:0A:13:00E und 00:00:21:0A:13:00F gesendet werden.

·ipproto=udp and dport=137 // Empfängt die UDP-/IP-Pakete die an Port 137 gesendet werden.

·dport=25 and str('RCPT TO:', -1, true) // Empfängt die TCP/IP- oder UDP/IP-Pakete, welche "'RCPT TO:" enthalten und die den Zielport 25 haben.

·not (sport>110) // Empfängt alle Pakete, außer denen, deren Quellport größer als 110 ist.

·(sip=192.168.0.3 and dip=192.168.0.15) or (sip=192.168.0.15 and dip=192.168.0.3) // Empfängt nur die IP-Pakete, die zwischen den Maschinen 192.168.0.3 und 192.168.0.15 ausgetauscht werden. Alle anderen Pakete werden ignoriert.

·((sip from 192.168.0.3 to 192.168.0.7) and (dip = 192.168.1.0/28)) and (flag=PA) and (size in 200..600) // Empfängt die TCP-Pakete, deren Größe zwischen 200 und 600 Bytes ist und die aus dem IP-Bereich 192.168.0.3 - 192.168.0.7 kommen, deren IP-Zieladresse im Bereich 192.168.1.0/255.255.255.240 liegt und deren TCP-Flag PSH ACK ist.

·Hex(0x0203, 89) and (dir<>in) // Empfängt die Pakete, die 0x0203 im Offset 89 enthalten und deren Paketrichtung nicht inbound ist.