Fonctionnement :

Passage du paquets au travers du firewall :
fw_mon_processing

Commandes en vrac :

- Afficher le flux de l'IP 1.1.1.1 en source ou destination

fw monitor -e 'accept host(1.1.1.1);' 

- Afficher le trafic entre 2 machine :

fw monitor -e "host(1.1.1.1) and host(2.2.2.2), accept;"

- Afficher le flux unidirectionnel de source 1.1.1.1 et destination 2.2.2.2

fw monitor -e 'accept src=1.1.1.1 and dst=2.2.2.2;'

- Afficher les packets UDP DNS en positionnant le fw monitor i (pre inbound) avant le moteur ipopt_strip (voir commande fw ctl chain)

fw monitor -pi ipopt_strip -e 'accept udpport(53);'

Note : il est possible de positionner les différentes position de fw monitor avec -pI, -po et -pO.

- Afficher les unknown ports et seulement le post-outbound :

fw monitor -m O -e 'accept udp and (sport>1023 or dport>1023);'

- Afficher le trafic du traceroute :

fw monitor -e 'accept tracert;'

- Afficher le trafic ICMP :

fw monitor -e 'accept icmp;'

- Afficher le protocole IP 50 (ESP) sur l'interface ayant l'ID 0 ( information ifID : fw ctl iflist)

fw monitor -e 'accept ip_p=50 and ifid=0;'

- Enregistrer la sortie dans un fichier pcap pour le lire avec wireshark :

fw monitor -e 'accept icmp;' -o /tmp/sortie.pcap

- Utilisation de filtre (ici ICMP):

echo "accept [9:1]=1;" > /tmp/monfiltreicmp.pf
fw monitor -f /tmp/monfiltreicmp.pf

équivalent à

fw monitor -e "accept [9:1]=1;"

ou

echo '#include "fwmonitor.def"' > /tmp/monfiltre2.pf
echo 'accept icmp;' >> /tmp/monfiltre2.pf
fw monitor -f /tmp/monfiltre2.pf

Pour plus d'informations sur les filtres voir la doc officielle en annexes.
Mais voir les plus courant :
IP source : accept [12, b]=172.16.1.2;
IP destination : accept [16, b]=10.2.4.12;

ICMP : accept [9:1]=1;
TCP : accept [9:1]=6;
UDP : accept [9:1]=17;
ESP : accept [9:1]=50; (voir annexe "Numéros de protocoles" pour avoir la liste complète)

Port source HTTP : accept [20:2,b]=80;
Port destination HTTP : accept [22:2,b]=80;

- Filtre sur un réseau :

fw monitor -e "net={<1.1.1.22,1.1.1.29>}; dst in net, accept;"

ou

fw monitor -e "accept net(1.1.1.0,25);"

- Filtre sur un flag TCP :

 fw monitor -e "accept syn;"

- Fitre super combo :

fw monitor -e "((src=x.x.x.x or dst=z.z.z.z) and (src=y.y.y.y or dst=z.z.z.z)), accept ;"

- Filtre sur le port source ou destination 53

 fw monitor -e "accept (sport=53 or dport=53);"

- Filtre sur le port 53 :

fw monitor -e "accept port(53);"

- Filtre sur une exception (tous sauf le ssh):

fw monitor -e "accept not (sport=22 or dport=22);"

ou

fw monitor -e "accept ((sport!=22) or (dport!=22));"

- Filtre TCP entre 2 machines :

fw monitor -e "ip_p=6, host(1.1.1.1) or host(2.2.2.2), accept;"
A voir : si l'on a bien tous les points d'interceptions (iIoO) lorsqu'un flux match un template SecureXL

Annexes :

Doc officielle CheckPoint
Doc de la communauté
Un excellent RefCard/Cheat Sheet
Quelques filtres fw monitor
Numéros de protocoles
CheckPoint sk30583 - Exemples de filtres
CheckPoint sk39510 - Configuration de Wireshark
Syntaxe des filtres

Filtre pour Wireshark avec une capture fw monitor :
fw_chain_overview