- BSD Packet Filter
-
Le filtre BPF (Berkeley Packet Filter) est un langage permettant de filtrer les paquets échangés sur un réseau.
Ce langage est utilisé entre autres par des logiciels spécialisés dans l'analyse d'échanges réseau (exemples : ngrep, tcpdump, snort, ntop) et sert à sélectionner des données transitant sur un réseau selon des critères précis, par exemple :
- Qui (quel est l'hôte qui) envoie les données ?
- Qui (quel est l'hôte qui) reçoit les données ?
- Quel est le protocole (Protocole réseau) utilisé ?
- Vers et depuis quel port sont envoyées les données ?
- etc.
Sommaire
Description
Une expression consiste en une ou plusieurs primitives.
Une primitive consiste en un id (nom ou nombre) précédé par un ou plusieurs critères.
Il existe trois sortes de critères différents :
- type
- dir
-
- Ce critère permet de spécifier une direction : depuis (src) ou vers(dst) un id.
- Les directions sont
src
,dst
,src or dst
etsrc and dst
.- Exemples :
src ultra
,dst net 192.168
,src or dst port ftp-data
.
- Exemples :
- S'il n'y a pas de critère de direction de spécifié,
src or dst
sera utilisé.
- proto
-
- Ce critère permet de spécifier un protocole particulier. les protocoles possibles sont
ether
,fddi
,ip
,arp
,rarp
,decnet
,lat
,moprc
,mopdl
,tcp
etudp
.- Exemples :
ether src ultra
,arp net 192.168
,tcp port 21
.
- Exemples :
- Si aucun proto n'est spécifié, tous les protocoles cohérents avec le type seront pris en compte.
- Exemples :
net 192.168
⇔(ip or arp or rarp) net
, port 53
⇔(tcp or udp) port 53
.- Remarque:
fddi
est en réalité un alias pourether
; l'analyseur les traite de façon identique. Un en-tête FDDI contient des adresses ethernet source et destination et contient souvent un paquet de type ethernet. Vous pouvez donc filtrer sur les champs. - FDDI et de façon similaire sur les champs ethernet. Un en-tête FDDI contient évidemment d'autres champs, mais vous ne pourrez pas filtrer explicitement sur ces champs.
- Remarque:
- Exemples :
- Ce critère permet de spécifier un protocole particulier. les protocoles possibles sont
De plus, il existe quelques primitives ou mots clés spéciaux :
gateway
,broadcast
,less
,greater
et d'autres expressions arithmétiques.Exemples
dst host {hote}
- Vrai si le champ destinataire du paquet IP contient
{hote}
, lequel doit être un nom ou une adresse IP.
src net {reseau}
- Vrai si l'adresse IP source (émettrice) du paquet appartient au réseau
{reseau}
.
greater {longueur}
- Vrai si le paquet a une longueur supérieure ou égale à
{longueur}
.
- etc.
Voir aussi
Lien externe
- (en) man page de ngrep Documentation de la commande ngrep.
- (en) [PDF] syntaxe et exemples de filtre de tcpdump
Catégories :- Langage informatique
- Normes et standards informatiques
- Sécurité du réseau informatique
- Filtrage numérique
Wikimedia Foundation. 2010.