Capture de trafic
Depuis la ligne de commande (tshark)
$tshark -i eth0
Capturer sur l'interface eth0
$tshark -i eth0 -w capture.pcap
Sauvegarder la capture dans un fichier
$tshark -r capture.pcap
Lire un fichier de capture
$tshark -i eth0 -f 'port 443'
Capturer uniquement le trafic HTTPS
Filtres de capture (BPF)
Appliques avant la capture — limitent ce qui est enregistre.
| Filtre | Description |
|---|---|
host 192.168.1.1 | Trafic depuis/vers cette IP |
net 10.0.0.0/8 | Trafic du sous-reseau |
port 80 | Trafic HTTP |
tcp port 443 | Trafic HTTPS (TCP) |
udp port 53 | Requetes DNS (UDP) |
not port 22 | Tout sauf SSH |
src host 10.0.0.1 | Trafic depuis cette IP |
dst port 3306 | Trafic vers MySQL |
Combinaisons
host 192.168.1.1 and port 80
(tcp port 80 or tcp port 443) and host 10.0.0.1
not (arp or dns)
Filtres d'affichage
Appliques apres la capture — filtrent ce qui est affiche.
Par protocole
| Filtre | Description |
|---|---|
http | Trafic HTTP |
tls | Trafic TLS/SSL |
dns | Requetes DNS |
tcp | Tout le trafic TCP |
icmp | Pings |
arp | Resolutions ARP |
Par adresse
| Filtre | Description |
|---|---|
ip.addr == 10.0.0.1 | IP source ou destination |
ip.src == 10.0.0.1 | IP source |
ip.dst == 10.0.0.1 | IP destination |
eth.addr == aa:bb:cc:dd:ee:ff | Adresse MAC |
Par port
| Filtre | Description |
|---|---|
tcp.port == 80 | Port TCP 80 (src ou dst) |
tcp.dstport == 443 | Port destination 443 |
udp.port == 53 | Port UDP 53 |
Avances
| Filtre | Description |
|---|---|
http.request.method == "POST" | Requetes HTTP POST |
http.response.code == 404 | Reponses 404 |
dns.qry.name contains "example" | Requetes DNS contenant "example" |
tcp.flags.syn == 1 && tcp.flags.ack == 0 | Paquets SYN (debut de connexion) |
tcp.analysis.retransmission | Retransmissions TCP |
frame.len > 1000 | Paquets de plus de 1000 octets |
tls.handshake.type == 1 | Client Hello TLS |
Operateurs
== egal
!= different
> superieur
< inferieur
>= superieur ou egal
contains contient la chaine
matches regex
&& AND
|| OR
! NOT
Analyse courante
Suivre un flux TCP
Clic droit sur un paquet → Follow → TCP Stream
Reconstitue la conversation complete entre client et serveur.
Statistiques utiles
- Conversations : Statistics → Conversations
- Endpoints : Statistics → Endpoints
- Protocoles : Statistics → Protocol Hierarchy
- IO Graphs : Statistics → I/O Graphs
Detecter les anomalies
| Symptome | Filtre | Indication |
|---|---|---|
| Beaucoup de SYN sans ACK | tcp.flags.syn==1 && tcp.flags.ack==0 | Scan de ports |
| Retransmissions | tcp.analysis.retransmission | Probleme réseau |
| DNS suspects | dns.qry.name contains "evil" | Malware, C2 |
| Requetes HTTP anormales | http.request.uri contains "../" | Tentative de traversal |
Bonnes pratiques
- Capturer avec des filtres BPF pour limiter la taille
- Analyser hors ligne (
.pcap) pour ne pas surcharger le réseau - Utiliser des profils de colonnes adaptes au type d'analyse
- Sauvegarder les filtres d'affichage frequents en bookmarks