TamoSoft: Network Analysis Tools & Security Software
Contents

CommView Help Documentation


    Return to the main product page
 
Introduction
À propos de CommView
Quoi de neuf
Licence d’utilisation
Utilisation de CommView
Aperçu
Sélectionner un périphérique réseau à surveiller
Dernières Connexions IP
Paquets
Journalisation
Affichage des fichiers journaux
Règles
Règles avancées
Alarmes
Reconstruction de sessions TCP
Statistiques et rapports
Utilisation d’alias
Générateur de paquets
Identificateur de fournisseur NIC
Planificateur
Utilisation de Remote Agent
Capture de trafic par boucle
Configuration des Options
Rechercher un paquet
Reference de port
Foire aux questions
Utilisation avancée
Capture d’un trafic de grand volume
Travailler avec Plusieurs Instances
Opérer CommView en Mode Invisible
Paramètres de lignes de commande
Échanger des Données avec Votre Application
Décodage personnalisé
Format des fichiers journaux de CommView
Information
Comment se Procurer CommView
Contactez-Nous
Autres Produits par TamoSoft
Règles avancées



Les règles avancées sont les règles les plus puissantes et les plus flexibles vous permettant de créer des filtres complexes en utilisant la logique booléenne. L'utilisation des règles avancées requiert une compréhension de base des mathématiques et de la logique, mais la syntaxe des règles est tout de même facile à comprendre.

advanced

Aperçu

Pour ajouter une nouvelle règle, vous devriez entrer un nom arbitraire dans le champ Nom, sélectionner l'action (Capturer/Ignorer), entrer une Formule en utilisant la syntaxe décrite ci-dessous, puis cliquer Ajouter/Modifier. Votre nouvelle règle sera ajoutée à la liste et deviendra active immédiatement. Vous pouvez ajouter autant de règles que vous le désirez, mais seulement les règles dont la case à côté de son nom est cochée seront actuellement actives. Vous pouvez activer/désactiver les règles en cochant/décochant les cases correspondantes ou en supprimant complètement les règles en utilisant le bouton Supprimer. Si plus d'une règle est active, vous pouvez évaluer le résultat de celles-ci combinées en cliquant sur le bouton Évaluer. Veuillez noter que l'activation de règles multiples sont combinées en utilisant l'opérateur logique OR, par exemple si vous avez trois règles actives, RÈGLE1, RÈGLE2, et RÈGLE3, la règle résultant est RÈGLE1 OR RÈGLE2 OR RÈGLE3.

Vous pouvez utiliser les règles avancées en conjonction avec les règles de base décrites dans le chapitre précédent, mais si vous vous sentez confortable avec la logique booléenne, c'est une bonne idée d'utiliser seulement les règles avancées, puisqu'elles offrent beaucoup plus de flexibilité. Les règles de base sont combinées avec les règles avancées en utilisant l'opérateur logique AND.

Description de la Syntaxe

dir
– Direction des paquets. Les valeurs possibles sont in (entrants), out (sortants et pass-through (transitants).

etherproto
– Protocole Ethernet, les 13ème et 14ème octets d'un paquet. Les valeurs acceptables sont des nombres (par exemple etherproto=0x0800 pour IP) ou des alias communs (par exemple etherproto=ARP, lequel est équivalent à 0x0806).

ipproto
– Protocole IP. Les valeurs acceptables sont des nombres (par exemple ipproto!=0x06 pour TCP) ou des alias communément utilisés (par exemple ipproto=UDP, lequel est équivalent à 0x11).

smac
– Adresses MAC source. Les valeurs acceptables sont des adresses MAC à notation hexadécimale (par exemple smac=00:00:21:0A:13:0F) ou des alias définis par l'utilisateur.

dmac
– Adresses MAC de destination.

sip
– Adresses IP source. Les valeurs acceptables sont des adresses IP à notation avec points (par exemple sip=192.168.0.1), des adresses IP avec des jokers (par exemple sip!=*.*.*.255), des adresses de sous-réseau (par exemple sip=192.168.0.4/255.255.255.240 ou sip=192.168.0.5/28), des plages d'adresses IP (par exemple sip from 192.168.0.15 to 192.168.0.18 ou sip in 192.168.0.15 .. 192.168.0.18 ) ou des alias définis par l'utilisateur.

dip
- Adresses IP de destination.

sport
– Port source pour les paquets TCP et UDP. Les valeurs acceptables sont des nombres (par exemple sport=80 for HTTP), des plages (par exemple sport from 20 to 50 ou sport in 20..50 pour tout numéro de port compris entre 20 et 50) ou des alias définis par le système d'exploitation (par exemple sport=ftp, lequel est équivalent à 21). Pour la liste des alias pris en charge par votre système d'exploitation, cliquez Affichage => Référence de port.

dport
– Port de destination pour les paquets TCP et UDP.

flag
– Flag TCP. Les valeurs acceptables sont des nombres (par exemple 0x18 pour PSH ACK) ou un ou plusieurs des caractères suivants : F (FIN), S (SYN), R (RST), P (PSH), A (ACK), et U (URG), ou le mot-clé has, lequel veut dire que le flag contient une certaine valeur. Exemples d'utilisation : flag=0x18, flag=SA, flag has F.

size
– Taille des paquets. Les valeurs acceptables sont des nombres (par exemple size=1514) ou des plages (par exemple size from 64 to 84 ou size in 64..84 pour toute taille comprise entre 64 et 84).

str
– Contenu des paquets. Utilisez cette fonction pour indiquer que le paquet doit contenir une certaine chaîne. Cette fonction comporte trois arguments : string, position, et case-sensitivity. Le premier argument est une chaîne, par exemple 'GET'. Le deuxième argument est un nombre qui indique la position de la chaîne (décalage) dans le paquet. La valeur de décalage est de base zéro, c'est-à-dire que si vous recherchez le premier octet du paquet, la valeur de décalage doit être 0. Si la valeur de décalage n'est pas importante, utilisez –1. Le troisième argument indique la sensibilité à la casse et peut être soit false (insensible à la casse) ou true (sensible à la casse). Les deuxième et troisième arguments sont optionnels; si omis, la valeur de décalage est de –1 par défaut et la sensibilité à la casse est false par défaut. Exemples d'utilisation : str('GET',-1,false), str('GET',-1), str ('GET').

hex
– Contenu des paquets. Utilisez cette fonction pour indiquer que le paquet doit contenir un certain modèle hexadécimal d'octet. Cette fonction possède deux arguments : hex pattern et position. Le premier argument est une valeur hexadécimale, par exemple 0x4500. Le deuxième argument est un nombre qui indique la position du modèle (décalage) dans le paquet. La valeur de décalage est de base zéro, c'est-à-dire que si vous recherchez le premier octet du paquet, la valeur de décalage doit être 0. Si la valeur de décalage n'est pas importante, utilisez –1. Le deuxième argument est optionnel; si omis, la valeur de décalage est de –1 par défaut. Exemples d'utilisation : hex(0x04500, 14) , hex(0x4500, 0x0E), hex (0x010101).

bit
– Contenu des paquets. Utilisez cette fonction pour determiner si le bit spécifié à la position de décalage donnée est à 1. Dans ce cas, la fonction retourne true (vrai). Si le bit spécifié est à 0, ou se situe au delà des limites du paquet, la fonction retourne false (faux). Le premier argument est l'indice du bit dans l'octet; les valeurs autorisées vont de 0 à 7. La valeur 0x01 indique que le bit 0 est à 1, tous les autres bits étant à 0. Le deuxième argument est un nombre indiquant la position (de décalage) de l'octet dans le paquet. La position de décalage est basée par rapport à la position zéro, c'est-à-dire que si vous voulez le premier octet du paquet, la position de décalage doit être 0. Les deux arguments sont obligatoires. Exemple d'utilisation: bit(0, 14), bit(0, 0x0E).

Les mots-clés décrits ci-dessous peuvent être utilisés avec les opérateurs suivants :

and – Conjonction booléenne.
or
- Disjonction booléenne.      
not
– Négation booléenne.   
=
- Égalité arithmétique.
!=
- Inégalité arithmétique.
<>
- Inégalité arithmétique.
>
- Plus grand que - Arithmétique.
<
- Moins grand que - Arithmétique.
( )
– Parenthèses, Opérateur de contrôle pour les règles prioritaires.

Tous les nombres peuvent être à notation décimale ou hexadécimale. Si vous voulez utiliser la notation hexadécimale, le nombre doit être précédé par 0x, c'est-à-dire que vous pouvez utiliser soit 15 ou 0x0F.

Exemples

Vous trouverez ci-dessous un certain nombre d'exemples illustrant la syntaxe des règles. Chaque règle est suivie par nos commentaires sur la fonction de chacune d'elles. Les règles sont montrées en rouge. Les commentaires sont séparés des règles par deux barres obliques.

·dir!=pass // Capture seulement les paquets entrants et sortants. Les paquets transitants à travers d'autres stations de travail sur le LAN sont ignorés.  
·(smac=00:00:21:0A:13:0E or smac=00:00:21:0A:13:0F) and etherproto=arp // Capture les paquets ARP envoyés par deux ordinateurs, 00:00:21:0A:13:0E et 00:00:21:0A:13:0F.  
·ipproto=udp and dport=137 // Capture les paquets UDP/IP envoyés au numéro de port 137.  
·dport=25 and str('RCPT TO:', -1, true) // Capture les paquets TCP/IP ou UDP/IP qui contiennent "'RCPT TO:" et dont le port de destination est 25.  
·not (sport>110) // Capture tout, excepté les paquets dont le port source est plus grand que 110  
·(sip=192.168.0.3 and dip=192.168.0.15) or (sip=192.168.0.15 and dip=192.168.0.3) // Capture seulement les paquets IP envoyés entre deux machines, 192.168.0.3 et 192.168.0.15. Tous les autres paquets sont discartés.  
·((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) // Capture les paquets TCP dont la taille est comprise entre 200 et 600 octets et venant des adresses IP comprises entre 192.168.0.3 - 192.168.0.7, dont l'adresse IP de destination est dans le segment 192.168.1.0/255.255.255.240, et où le flag TCP est PSH ACK.  
·Hex(0x0203, 89) and (dir<>in) // Capture les paquets qui contiennent 0x0203 à la valeur de décalage 89, où la direction des paquets n'est pas entrante.