tcpdump

Exemples de commandes Tcpdump et tutoriel

Exemples de commandes Tcpdump et tutoriel
Si votre travail dépend principalement d'Internet, les problèmes de réseau sont très courants. Résoudre et dépanner ces problèmes de réseau est une tâche difficile. Dans une telle situation, l'outil "tcpdump" entre dans le jeu.

Le "tcpdump" est un analyseur de paquets et utilisé pour diagnostiquer et analyser les problèmes de réseau. Il capture le trafic réseau passant par votre appareil et le surveille. L'outil "tcpdump" est un outil puissant pour résoudre les problèmes de réseau. Il est livré avec de nombreuses options, ce qui en fait un utilitaire de ligne de commande polyvalent pour résoudre les problèmes de réseau.

Cet article est un guide détaillé sur l'utilitaire « tcpdump » qui inclut son installation, ses fonctionnalités communes et son utilisation avec différentes options. Commençons par l'installation :

Comment installer « tcpdump » :

Dans de nombreuses distributions, le « tcpdump » sort de la boîte, et pour le vérifier, utilisez :

$quel tcpdump

S'il ne se trouve pas dans votre distribution, installez-le en utilisant :

$sudo apt installer tcpdump

La commande ci-dessus sera utilisée pour les distributions basées sur Debian telles que Ubuntu et LinuxMint. Pour « Redhat » et « CentOS », utilisez :

$sudo dnf installer tcpdump

Comment capturer des paquets avec tcpdump :

Diverses interfaces peuvent être utilisées pour capturer des paquets. Pour obtenir une liste des interfaces, utilisez :

$sudo tcpdump -D

Ou utilisez simplement "any" avec la commande "tcpdump" pour obtenir des paquets de l'interface active. Pour commencer la capture de paquets, utilisez :

$sudo tcpdump --interface tout

La commande ci-dessus trace les paquets de toutes les interfaces actives. Les paquets seront continuellement récupérés jusqu'à ce qu'il y ait une interruption de la part de l'utilisateur (ctrl-c).

Nous pouvons également limiter le nombre de paquets à capturer en utilisant le drapeau "-c" qui signifie le "compte.” Pour capturer 3 paquets, utilisez :

$sudo tcpdump -i any -c3

La commande ci-dessus est utile pour filtrer un paquet spécifique. De plus, le dépannage des problèmes de connectivité ne nécessite que quelques paquets initiaux à capturer.

Le "tcpdump" La commande capture les paquets avec les noms d'IP et de port par défaut mais pour nettoyer, le désordre et rendre la sortie plus facile à comprendre ; les noms peuvent être désactivés en utilisant "-m" et "-nn" pour l'option de port :

$sudo tcpdump -i any -c3 -nn

Comme indiqué dans la sortie ci-dessus, l'adresse IP et les noms de port ont été supprimés.

Comment comprendre les informations sur un paquet capturé :

Pour connaître les différents champs d'un paquet capturé, prenons un exemple de paquet TCP :

Un paquet peut avoir plusieurs champs, mais les champs généraux sont affichés ci-dessus. Le premier champ, "09:48:18.960683,” représente un moment où le paquet est reçu. Viennent ensuite les adresses IP ; la première IP [216.58.209.130] est l'IP source et la deuxième IP [dix.0.2.15.55812] est l'IP de destination. Ensuite, vous obtiendrez le drapeau [P.] ; une liste de drapeaux typiques est donnée ci-dessous :

Drapeau Taper La description
"." ACK Signifie la reconnaissance
S SYN Drapeau pour démarrer une connexion
F AILETTE Indicateur pour une connexion fermée
P POUSSER Indique la poussée des données de l'expéditeur
R TVD Connexion réinitialisée

Et vient ensuite le numéro de séquence "séquence 185:255". Le client et le serveur utilisent tous deux le numéro de séquence de 32 bits pour maintenir et surveiller les données.

Le "ack" est un drapeau ; si c'est 1, cela signifie que le numéro d'accusé de réception est valide et que le récepteur attend l'octet suivant.

Le numéro de fenêtre indique la taille du tampon. "gagner 65535” désigne la quantité de données pouvant être mise en mémoire tampon.

Et à la fin vient la longueur [70] du paquet en octets qui est une différence de "185:255".

Filtrage des paquets pour résoudre les problèmes de réseau :

L'outil "tcpdump" capture des centaines de paquets, et la plupart d'entre eux sont de moindre importance, ce qui rend très complexe l'obtention des informations souhaitées pour le dépannage. Dans ce cas, le filtrage jouera son rôle. Par exemple, lors du dépannage si vous n'êtes pas intéressé par un type de trafic particulier, vous pouvez le filtrer à l'aide de « tcpdump », qui permet de filtrer les paquets en fonction des adresses IP, des ports et des protocoles.

Comment capturer un paquet en utilisant le nom d'hôte avec la commande tcpdump :

Pour obtenir le paquet d'un hôte spécifique uniquement, utilisez :

$sudo tcpdump -i tout hôte -c4 10.0.2.15

Si vous souhaitez obtenir uniquement un trafic à sens unique, utilisez "src" et "dst« options à la place de »hôte."

Comment capturer un paquet en utilisant le numéro de port avec la commande tcpdump :

Pour filtrer les paquets avec le numéro de port, utilisez :

$sudo tcpdump -i tout -c3 -nn port 443

Le « 443 » est le numéro de port HTTPS.

Comment capturer un paquet en utilisant le protocole avec la commande tcpdump :

Avec la commande « tcpdump », vous pouvez filtrer les paquets selon n'importe quel protocole tel que udp, icmp, arp, etc. Tapez simplement le nom du protocole :

$sudo tcpdump -i any -c6 udp

Les commandes ci-dessus ne captureront que les paquets appartenant au protocole « udp ».

Comment combiner les options de filtrage à l'aide d'opérateurs logiques :

Différentes options de filtrage peuvent être combinées à l'aide d'opérateurs logiques comme « et/ou » :

$sudo tcpdump -i tout -c6 -nn hôte 10.0.2.15 et port 443

Comment stocker les données capturées :

Les données saisies peuvent être enregistrées dans un fichier pour les surveiller plus tard, et pour cela, l'option "-w" sera utilisée, et "w" signifie "écrire":

$sudo tcpdump -i any -c5 -w packetData.pcap

L'extension du fichier serait ".pcap », qui signifie « capture de paquets.” Une fois la capture terminée, le fichier serait enregistré dans votre lecteur local. Ce fichier ne peut pas être ouvert ou lu à l'aide d'un programme d'édition de texte. Pour le lire, utilisez le "-r” avec “tcpdump” :

$tcpdump -r packetData.pcap

Conclusion:

Le « tcpdump » est un outil précieux et flexible pour capturer et analyser le trafic réseau afin de résoudre les problèmes de réseau. Le point d'attention de ce guide est d'apprendre l'utilisation de base et avancée de l'utilitaire de ligne de commande « tcpdump ». Mais si vous trouvez cela difficile, il existe un programme basé sur une interface graphique moins complexe appelé "Wireshark", qui fait à peu près le même travail mais avec diverses fonctionnalités supplémentaires.

Meilleures distributions Linux pour les jeux en 2021
Le système d'exploitation Linux a parcouru un long chemin depuis son apparence originale, simple et basée sur le serveur. Ce système d'exploitation s'...
Comment capturer et diffuser votre session de jeu sur Linux
Dans le passé, jouer à des jeux n'était considéré qu'un passe-temps, mais avec le temps, l'industrie du jeu a connu une croissance énorme en termes de...
Meilleurs jeux à jouer avec le suivi des mains
Oculus Quest a récemment introduit l'idée géniale du suivi manuel sans contrôleurs. Avec un nombre toujours croissant de jeux et d'activités qui exécu...