Tcpdump : Les commandes

Tcpdump : Les commandes
Photo by Thomas Jensen / Unsplash

Introduction

Tcpdump est un packet sniffer (renifleur de paquet (ça sonne moins bien)) en ligne de commande, permettant de capturer et d’interpréter des paquets de données directement depuis une interface réseau ou à partir d’un fichier.

Tcpdump est similaire à Wireshark, excepté qu’il n’y a pas d’interface graphique, tout se fait en invite de commande.

Versions :

  • Linux : Tcpdump
  • Windows : WinDump

Pour vérifier si tcpdump est installé sur votre machine Linux, tapez cette commande :

$ which tcpdump

Tcpdump requiert des droits administrateurs, sous Linux, nous aurons donc besoin d'un compte admin ou d'utiliser la commande sudo.

Exemples

Intercepter les paquets SSH

$ sudo tcpdump -i eth0 tcp port 22

Intercepter les paquets provenant d’un hôte spécifique

$ sudo tcpdump -i eth0 src host 192.168.0.1

Ne pas intercepter certains types de paquets

$ sudo tcpdump -i eth0 src host 192.168.0.1 and not arp

Intercepter les paquets avec un port spécifique

$ sudo tcpdump -i eth0 tcp port 22

Intercepter les paquets d’un range de ports

$ sudo tcpdump -i eth0 portrange 1024-65535

Intercepter les paquets plus grand qu’une certaine taille (bytes)

$ sudo tcpdump -i eth0 less 64

Lire un fichier de capture et chercher un e-mail

$ sudo tcpdump -Ar file.pcap -l | grep 'mailto:*'

Intercepter des paquets avec un “flag” TCP (SYN flag = 1)

$ sudo tcpdump -i eth0 'tcp[13] & 2 != 0'

OU

$ sudo tcpdump -i <interface> "tcp[tcpflags] & (tcp-syn) != 0"

Intercepter des paquets avec un “flag” TCP (ACK flag = 1)

$ sudo tcpdump -i <interface> "tcp[tcpflags] & (tcp-ack) != 0"

Commandes

Voici le texte transformé en tableau Markdown :

Commande Description
-D Affiche toutes les interfaces disponibles pour la capture.
-i <number | interface> Sélectionne une interface.
-n Ne résout pas les noms de domaine.
-nn Ne résout pas les noms de domaine et les ports connus.
-e Permet de capturer l'en-tête Ethernet.
-X Affiche le contenu des paquets en Hexadécimal et ASCII. Permet de mieux voir les paquets.
-A Affiche le contenu des paquets uniquement en ASCII (sans l'hexadécimal).
-v Active la "verbosité".
-vv Active la "verbosité" (++).
-vvv Active la "verbosité" (+++).
-c Capture un certain nombre de paquets, ensuite quitte le programme.
-s Défini la quantité d'un même paquet à capturer.
-S Change le "sequence number" d'un paquet, passant d'une valeur relative à une valeur absolue.
-q Affiche moins d'information sur les protocoles.
-r <file.pcap> Lit depuis un fichier.
-w <file.pcap> Écrit dans un fichier.
-l Envoie la sortie de tcpdump dans le buffer. Utile avec grep.
port Affiche le trafic avec le port spécifié, source et destination.
portrange Intercepte les paquets d'un intervalle de port spécifique.
net Affiche le trafic source et destination du réseau spécifié.
host Affiche le trafic source et destination pour l'hôte spécifié.
src | dst Affiche les paquets source/destination d'une IP, d'un port ou d'un réseau spécifique.
proto <# | protocol name> Affiche le trafic pour un protocole spécifique (TCP, UDP, ICMP, etc) ou par numéro (1=ICMP).
not (!) Exclut des paquets de la capture.
or Condition.
and / && Condition.
less Moins que.
greater Plus grand que.

Exemples d'utilisation :

  • $ tcpdump -i eth0 src host 192.168.0.1
  • $ tcpdump -i eth0 tcp src port 80
  • $ tcpdump -i eth0 dest net 172.16.146.0/24
  • $ tcpdump -Xr file.pcap not icmp
About the author
Julien B.

Securitricks

Up-to-Date Cybersecurity Insights & Malware Reports

Securitricks

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to Securitricks.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.