Erweiterte Regeln sind die mächtigsten und flexibelsten Regeln, die
es Ihnen ermöglichen 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.
Ü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
OR-Operator gekoppelt, wenn Sie also drei aktive Regeln haben,
nennen wir sie REGEL1, REGEL2 oder REGEL3, ist das Ergebnis gültig,
sobald mindestens eine der drei Regeln zutrifft. Wenn Sie auch
negative ("Ignore") Regeln benutzen, werden sie über den logischen
AND-Operator dem Ergebniss eingefügt, weil die Kopplung der
negativen Regeln über den OR-Operator keinen Sinn hat.
Syntax Beschreibung
dir
–
Paketrichtung. Mögliche Werte sind
in
(inbound),
out
(outbound), und
pass
(pass-through). Dieses Schlüsselwort ist nur für die
Kompatiobillität mit der nichtdrahtlosen Standardausgabe von
CommView for WiFi. In CommView for WiFi gibt es keine inbound oder
outbound Pakete, da Ihr Adapter nicht am Datenaustausch teilnimmt
und nur passiv die durchgehenden Pakete überwacht.
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
- Quell-MAC-Adresse. Erlaubt sind hier MAC-Adressen in Hexnotation
(wie
smac=00:00:21:0A:13:00F)
oder benutzerdefinierte Kennnamen.
dmac
– Ziel-MAC-Addresse
sip
– Quell-IP- oder IPv6-Adresse. Erlaubt sind IP-Adressen in
Punktnotation (wie
sip=192.168.0.1),
IP-Adressen mit Wildcards (wie
sip!=*.*.*.255),
ausgenommen für IP6-Adressen, 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 von 192.168.0.15 bis 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-Adresse.
sport
–
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 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
– 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.
Das Offset ist nullbasierend, d. h. wenn Sie auf das 1. Byte im
Paket schauen, muss der Offset-Wert 0. Beide Argumente sind
zwingend notwendig. Beispiele: bit(0, 14) , bit(5, 1).
ToDS, FromDS, MoreFrag, Retry, Power, MoreData, WEP, Order, Ftype,
FsubType, Duration, FragNum, SeqNum
- zur Verwendung der 802.11-Paket-Header-Felder innerhalb der
Erweiterten Regeln. Die Operatorennamen passen zu den in den
802.11-Standards festgelegten Paket-Header-Feldern. Die erlaubten
Werte für ToDS, FromDS, MoreFrag, Retry, Power, MoreData, WEP und
Order sind 0 oder 1. Für Ftype, FsubType, Duration, FragNum und
SeqNum Operatoren sind auch andere numerische Werte
gültig.
Schauen Sie in die 802.11 Standardspezifikationen für detaillierte
Informationen zu den 802.11 Paket-Header-Feldern und den von ihnen
akzeptierten Werten.
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.
=
- gleich.
!=
- ungleich.
<>
- ungleich.
>
- größer als.
<
- 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.
·(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
dpodert=137
// Empfängt die UDP-/IP-Pakete die an Port 137 gesendet
werden.
·dpodert=25
and
str('RCPT
TO:', -1, true)
// Empfängt die TCP/IP- oder UDP/IP-Pakete, welche "'RCPT TO:"
enthalten und die den Ziel-Port 25 haben.
·not
(spodert>110)
// Empfängt alle Pakete, außer denen, deren Quell-Port 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.
·not(ftype=0
and
fsubtype=8)
// Ignoriert Managementpakete des Beacon-Typs.
·ftype=2
and
wep=1
// Empfängt unverschlüsselte Pakete.
·MoreFrag=0
and
FragNum=0
// Empfängt unfragmentierte Pakete.
|