Le tutoriel complet et détaillé sur TCPDUMP

Pour suivre nos dernières actualités n'oubliez pas de vous abonner :
Publicité :

Guide tcpdump (Part 1)

Dans cet article, nous allons apprendre à connaître tcpdump. 

Il s'agit d'un puissant outil en ligne de commande pour l'analyse des paquets réseau. 

Tcpdump nous aide à résoudre les problèmes de réseau ainsi qu'à analyser le fonctionnement de certains outils de sécurité.

Taille du contenu

  • Introduction
  • Options disponibles
  • Listes des interfaces
  • Fonctionnement par défaut
  • Capturer le trafic d’une interface particulière
  • Compte de paquets
  • Mode verbeux (verbose mode)
  • Impression de chaque paquet ASCII
  • Ne pas convertir l’adresse
  • Filtre de port
  • Filtre d’hôte
  • L’en-tête de chaque paquet
  • Numéro de séquence TCP
  • Filtre de paquet
  • Direction des paquets
  • Comptage des numéros en direct
  • Lire et écrire dans un fichier
  • Snapshot length
  • Dump mode

Introduction

Tcpdump a été initialement développé en 1988 par Van Jacobson, Sally Floyd, Vern Paxson et Steven McCanne. Ils travaillaient au Lawrence Berkeley Laboratory Network Research Group.

Il permet à ses utilisateurs d'afficher les paquets TCP/IP et autres qui sont reçus et transmis sur le réseau. Il fonctionne sur la plupart des systèmes d'exploitation basés sur Linux. Il utilise la bibliothèque libpcap pour capturer les paquets, qui est une bibliothèque basée sur C/C++. Tcpdump a également un équivalent Windows. Il s'appelle windump. Il utilise la bibliothèque winpcap.

Options disponibles

Nous pouvons utiliser le paramètre suivant pour imprimer les chaînes de version de tcpdump et libpcap. 

De plus, nous pouvons imprimer un message d'utilisation qui montre toutes les options disponibles.

tcpdump -h tcpdump --help

tcpdump -h

tcpdump --help

Listes des interfaces

Une interface est le point d'interconnexion entre un ordinateur et un réseau. Nous pouvons utiliser le paramètre suivant pour imprimer la liste des interfaces réseau disponibles sur le système. Il peut également détecter les interfaces sur lesquelles tcpdump peut capturer des paquets.

Pour chaque interface réseau, un numéro est attribué. Ce numéro peut être utilisé avec le paramètre '-i' pour capturer des paquets sur cette interface particulière.

Il peut arriver que la machine sur laquelle nous travaillons soit incapable de lister les interfaces réseau qu'elle utilise. Il peut s'agir d'un problème de compatibilité ou de quelque chose d'autre qui entrave l'exécution de certaines commandes spécifiques (ifconfig -a).  

tcpdump –list-interface tcpdump -D

tcpdump –list-interface

tcpdump -D

Capture par défaut

Avant de passer aux options et paramètres avancés de cet outil de capture du trafic réseau, effectuons d'abord une capture avec les configurations par défaut.

tcpdump


tcpdump

Capture de trafic d’une interface particulière

Nous allons capturer le trafic en utilisant le réseau ethernet qui est connu sous le nom de "eth0". Ce type d'interface est généralement connecté au réseau par un câble de catégorie 5.

Pour sélectionner cette interface, nous devons utiliser le paramètre -i.

tcpdump -i eth0

tcpdump -i eth0

Comptage de paquets

Tcpdump dispose de quelques fonctionnalités étonnantes que nous pouvons utiliser pour rendre notre analyse du trafic plus efficace. 

Nous pouvons accéder à certaines de ces fonctionnalités en utilisant divers paramètres. Nous utilisons le paramètre -c, qui nous aidera à capturer la quantité exacte de données dont nous avons besoin et à les afficher. 

Il affine la quantité de données que nous avons capturées.

tcpdump -i eth0 -c10

Mode verbeux

Le mode verbeux fournit des informations sur l'analyse du trafic. Par exemple, le time to live(TTL), l'identification des données, la longueur totale et les options disponibles dans les paquets IP. Il permet des contrôles supplémentaires de l'intégrité des paquets, comme la vérification des en-têtes IP et ICMP.

Pour obtenir des informations supplémentaires de notre analyse, nous devons utiliser le paramètre -v.

tcpdump -i eth0 -c 5 -v

Afficher chacun des paquets en ASCII

ASCII est l'abréviation de American Standard Code for Information Interchange. Il s'agit d'une norme de codage des caractères pour la communication électronique. Les codes ASCII représentent le texte dans les ordinateurs et autres appareils.

La plupart des techniques modernes de codage des caractères sont basées sur les codes ASCII. Pour imprimer chaque paquet en code ASCII, nous devons utiliser le paramètre -A.

tcpdump -i eth0 -c 5 -A

Ne pas convertir d'adresse

Avec l'aide du paramètre tcpdump -nn, nous pouvons voir l'adresse réelle du fond sans aucun filtre. Cette fonctionnalité nous aide à mieux comprendre le trafic de données sans aucun filtre.

tcpdump -i eth0 -c 5 tcpdump -i eth0 -c 5 -nn

tcpdump -i eth0 -c 5

tcpdump -i eth0 -c 5 -nn

Port des filtre

Le filtre de port nous aide à analyser le trafic de données d'un port particulier. Il nous aide à surveiller les ports de destination du TCP/UDP ou d'autres protocoles réseau basés sur les ports.

tcpdump -i eth0 -c 5 -v port 80

Filtre d’hôte

Ce filtre nous aide à analyser le trafic de données d'un hôte particulier. Il nous permet également de nous limiter à un hôte particulier, ce qui améliore encore notre analyse. 

Plusieurs paramètres peuvent également être appliqués, tels que -v, -c, -A,-n, pour obtenir des informations supplémentaires sur cet hôte.

tcpdump host 104.28.6.89 -c10 -A -n

L'en-tête de chaque paquet

L'en-tête contient toutes les instructions données aux paquets individuels concernant les données qu'ils transportent. 

Ces instructions peuvent être la longueur du paquet, l'annonce, la synchronisation, le code ASCII, les valeurs hexadécimales, etc. Nous pouvons utiliser le paramètre -X pour voir ces informations sur nos paquets de données.

tcpdump -i eth0 -c 3 -X

Numéro de séquence TCP

Tous les octets des connexions TCP ont un numéro de séquence qui est un numéro de séquence initial (ISN) choisi au hasard. Les paquets SYN ont un numéro de séquence, les données commencent donc à ISN+1. Le numéro de séquence est le numéro d'octet des données dans le paquet TCP qui est envoyé en avant. Le paramètre -S est utilisé pour voir ces segments de données des paquets capturés.

tcpdump -i eth0 -nnXS

Filtre à paquets

Une autre fonctionnalité fournie par tcpdump est le filtrage de paquets. Cela nous aide à voir les résultats des paquets sur un paquet de données particulier dans notre analyse. Si nous voulons appliquer ce filtre dans notre analyse, il suffit d'ajouter le paquet désiré dans notre analyse.

tcpdump -i eth0 icmp -c 10

Packet directions

Pour connaître la direction du flux de données dans notre trafic, nous pouvons utiliser le paramètre suivant :

tcpdump -i eth0 icmp -c 5 -Q in

Pour voir toutes les demandes que nous envoyons au serveur, le paramètre suivant (- Q out) peut être utilisé :

tcpdump -i eth0 icmp -c 5 -Q out

Nombre de personnes vivantes

Nous pouvons appliquer la fonction de comptage du nombre de paquets en direct pour voir combien de paquets ont été analysés ou capturés pendant les analyses du trafic de données. 

Le paramètre -number est utilisé pour compter le nombre de paquets qui sont capturés dans un scan en direct. 

Nous avons également comparé le comptage des paquets au comptage en temps réel pour voir sa précision.

Lire et écrire dans un fichier

Dans tcpdump, nous pouvons écrire et lire dans un fichier d'extension .pcap. L'option d'écriture (-w) nous permet d'écrire les paquets de données brutes que nous avons en sortie dans un fichier d'extension standard .pcap. 

L'option de lecture (-r) nous aide à lire ce fichier. Pour écrire la sortie dans le fichier .pcap, suivez les instructions suivantes :

tcpdump -i eth0 icmp -c 10 -w file.pcap

To read this .pcap file we follow:

tcpdump -r file.pcap

Longueur de l'instantané

La longueur du snapshot correspond aux octets de données de chaque paquet. Elle est par défaut fixée sur les 262144 octets. 

Avec tcpdump, nous pouvons ajuster cette limite à nos besoins pour mieux comprendre la longueur de chaque instantané. 

Le paramètre -s nous aide à le faire, il suffit d'appliquer le paramètre -s avec la longueur des octets.

tcpdump -i eth0 icmp -s10 -c2 tcpdump -i eth0 icmp -s25 -c2 tcpdump -i eth0 icmp -s40 -c2 tcpdump -i eth0 icmp -s45 -c2


tcpdump -i eth0 icmp -s10 -c2

tcpdump -i eth0 icmp -s25 -c2

tcpdump -i eth0 icmp -s40 -c2

tcpdump -i eth0 icmp -s45 -c2

Dump mode

Le mode Dump a plusieurs paramètres comme -d, -dd, -ddd. 

Où le paramètre -d, vide le code correspondant compilé dans une sortie lisible, le paramètre -dd, vide le code en tant que fragment de programme C. -ddd paramètre et dumps code comme un nombre décimal avec un compte. 

Pour voir ces résultats dans notre scan nous devons suivre :

tcpdump -i eth0 -c 5 -d tcpdump -i eth0 -c 5 -dd tcpdump -i eth0 -c 5 -ddd

tcpdump -i eth0 -c 5 -d

tcpdump -i eth0 -c 5 -dd

tcpdump -i eth0 -c 5 -ddd


Ceci est notre premier article dans la série d'un guide complet de tcpdump. Il est basé sur quelques commandes de base de tcpdump. Restez à l'écoute pour des options plus avancées de cet outil étonnant.

Auteur : Shubham Sharma est un Pentester et un chercheur en cybersécurité, contact LinkedIn et Twitter. 

Guide complet pour sur tcpdump (Part 2)

Dans l'article précédent de tcpdump, nous avons appris quelques fonctionnalités de base de cet outil étonnant appelé tcpdump.

Si vous n'avez pas encore vérifié, cliquez ici.  

Donc, dans cette partie, nous allons couvrir certaines des options avancées et des types de données. Ainsi, nous pourrons analyser notre trafic de données de manière beaucoup plus rapide.

Table du contenu

  • Link level header
  • Parsing and printing
  • User scan
  • Timestamp precision
  • Force packets
  • RADIUS (Remote Authentication Dial-in User Service)
  • AODV (Ad-hoc On-demand Distance Vector protocol)
  • RPC (Remote Procedure Call)
  • CNFP (Cisco NetFlow Protocol)
  • LMP (Link Management Protocol)
  • PGM (Pragmatic General Multicast)
  • RTP (Real-Time Application Protocol)
  • RTCP (Real-Time Application Control Protocol)
  • SNMP (Simple Network Management Protocol)
  • TFTP (Trivial File Transfer Protocol)
  • VAT (Visual Audio Tool)
  • WB (Distributed White Board)
  • VXLAN (Virtual Xtensible Local Area Network)
  • Promiscuous mode
  • No promiscuous mode

En-tête de niveau liaison

Tcpdump nous offre la possibilité de présenter les en-têtes de niveau lien de chaque paquet de données. 

Nous utilisons le paramètre -e pour obtenir ces informations dans notre résultat de trafic de données. 

En général, en utilisant ce paramètre, nous obtiendrons l'adresse MAC pour les protocoles tels que Ethernet et IEEE 802.11.

tcpdump -i eth0 -c5 tcpdump -i eth0 -c5 -e

tcpdump -i eth0 -c5

tcpdump -i eth0 -c5 -e

Analyse syntaxique et impression

Comme nous le savons tous, la conversion d'une syntaxe concrète en syntaxe abstraite est appelée analyse syntaxique.

La conversation d'une syntaxe abstraite vers la syntaxe concrète est appelée "unparsing" ou "printing". Maintenant, pour analyser un paquet de données, nous pouvons utiliser le paramètre -x et pour imprimer la syntaxe abstraite, nous pouvons utiliser le paramètre -xx.

En plus d'imprimer les en-têtes de chaque paquet de données, nous pouvons également imprimer le paquet en hexadécimal avec son snaplen.

tcpdump -i eth0 -c 2 -x tcpdump -i eth0 -c 2 -xx

tcpdump -i eth0 -c 2 -x

tcpdump -i eth0 -c 2 -xx

Si nous voulons les informations fournies par le paramètre -x avec leur code ASCII, nous devons utiliser le paramètre -X et si nous voulons les résultats du paramètre -xx avec leur code ASCII, nous devons utiliser le paramètre -XX. Pour utiliser ces paramètres dans notre analyse de données, utilisez les commandes suivantes :

tcpdump -i eth0 -c 2 -X tcpdump -i eth0 -c 2 -XX


tcpdump -i eth0 -c 2 -X

tcpdump -i eth0 -c 2 -XX

Scan utilisateur

Si nous exécutons tcpdump en tant que root, alors avant d'ouvrir un fichier sauvegardé pour analyse, vous observerez qu'il change l'ID de l'utilisateur en utilisateur et l'ID du groupe en groupe primaire de ses utilisateurs.

Tcpdump nous fournit le paramètre -Z, grâce auquel nous pouvons surmonter ce problème mais nous devons fournir le nom d'utilisateur comme suit :

tcpdump -i eth0 -c 2 -Z root tcpdump -i eth0 -c 2 -Z kali


tcpdump -i eth0 -c 2 -Z root

tcpdump -i eth0 -c 2 -Z kali

Il existe un autre moyen de le faire, c'est-à-dire à l'aide du paramètre -relinquish-privileges=. 

Timestamp Precision

L'horodatage est l'heure enregistrée dans un fichier, un journal ou une notification qui peut enregistrer le moment où les données sont ajoutées, supprimées, modifiées ou transmises. 

Dans tcpdump, il y a beaucoup de paramètres qui se déplacent autour des valeurs de timestamp comme -t, -tt, -ttt, -tttt, -ttttt, où chaque paramètre a son propre fonctionnement et efficacité.

  • Le paramètre -t qui ne doit pas imprimer un timestamp sur chaque ligne de dump.
  • Le paramètre -tt permet d'imprimer l'horodatage jusqu'à la seconde.
  • Le paramètre -ttt permet d'imprimer une résolution de l'ordre de la microseconde ou de la nanoseconde en fonction de la précision de l'horodatage entre la ligne actuelle et la ligne précédente sur chaque ligne de vidage. La microseconde est une résolution par défaut.
  • Le paramètre -tttt qui peut imprimer un horodatage sous forme d'heures, de minutes, de secondes et de fractions de secondes depuis minuit.
  • Le paramètre -ttttt qui est assez similaire au paramètre -ttt. Il permet d'obtenir le delta entre la ligne courante et la première ligne de chaque ligne de vidage.

Pour appliquer ces fonctionnalités dans notre scan, nous devons suivre ces commandes :

tcpdump -i eth0 -c 2 tcpdump -i eth0 -c 2 -t tcpdump -i eth0 -c 2 -tt tcpdump -i eth0 -c 2 -ttt tcpdump -i eth0 -c 2 -tttt tcpdump -i eth0 -c 2 -ttttt

tcpdump -i eth0 -c 2

tcpdump -i eth0 -c 2 -t

tcpdump -i eth0 -c 2 -tt

tcpdump -i eth0 -c 2 -ttt

tcpdump -i eth0 -c 2 -tttt

tcpdump -i eth0 -c 2 -ttttt

Force Packets

Dans tcpdump, nous pouvons forcer notre analyse du trafic de données à montrer un protocole particulier. En utilisant la fonction de forçage des paquets, définie par une "expression" quelconque, nous pouvons interpréter le type spécifié. Avec l'aide du paramètre -T, nous pouvons forcer les paquets de données à ne montrer que les résultats du protocole souhaité.

La syntaxe de base de tous les paquets de force restera la même que celle des autres paramètres -T suivi du protocole souhaité. Voici quelques protocoles de paquets de force :

RADIUS

RADIUS est l'abréviation de Remote Authentication Dial-in User Service. Il s'agit d'un protocole réseau, dont le numéro de port unique est 1812, qui fournit une authentification centralisée ainsi qu'une gestion des autorisations et de la comptabilité pour les utilisateurs qui se connectent et utilisent les services réseau. Nous pouvons utiliser ce protocole pour notre analyse.

tcpdump -i eth0 -c5 -T radius

tcpdump -i eth0 -c5 -T radius

AODV

Le protocole Adhoc On-demand Distance Vector est un protocole de routage pour les réseaux mobiles ad hoc et autres réseaux sans fil. Il s'agit d'un protocole de routage utilisé pour les réseaux sans fil à faible puissance et à faible débit de données. Pour voir ces résultats dans notre analyse, suivez.

tcpdump -i eth0 -c5 -T aodv

RPC 

Un appel de procédure à distance, c'est un protocole qu'un programme peut utiliser pour demander un service à un programme situé dans un autre ordinateur sur un réseau sans avoir à comprendre les détails du réseau. 

Un appel de procédure est également connu sous le nom d'appel de fonction. Pour obtenir ce protocole dans notre analyse, utilisez la commande suivante :

tcpdump -i eth0 -c5 -T rpc

CNFP 

Le protocole NetFlow de Cisco est un protocole réseau développé par Cisco pour la collecte et la surveillance du trafic réseau, des données de flux générées par les routeurs et commutateurs compatibles NetFlow. 

Il exporte les statistiques de trafic au fur et à mesure de leur enregistrement qui sont ensuite collectées par son collecteur. Pour obtenir ces analyses détaillées, suivez cette commande.

tcpdump -i eth0 -c5 -T cnfp

LMP

Link Management Protocol, il est conçu pour faciliter la configuration et la gestion des périphériques de réseau optique. 

Pour comprendre le fonctionnement du LMP dans notre réseau, nous devons appliquer ce protocole dans notre analyse.

 

tcpdump -i eth0 -c5 -T lmp

PGM 

Multicast général pragmatique, c'est un protocole de transport de réseau multicast fiable. Il peut fournir une séquence fiable de paquets à plusieurs destinataires simultanément. 

Ce qui le rend encore plus approprié pour un transfert de fichiers à plusieurs destinataires. Voici comment comprendre son fonctionnement dans notre trafic de données.

tcpdump -i eth0 -c5 -T pgm

RTP

Protocole d'application en temps réel, il peut coder des flux de données multimédia tels que l'audio ou la vidéo. 

Il les divise en paquets et les transmet sur un réseau IP. Pour analyser ce protocole dans notre trafic, nous devons suivre cette commande :

tcpdump -i eth0 -c5 -T rtp

RTCP 

Protocole de contrôle d'application en temps réel, ce protocole possède toutes les capacités de RTP avec un contrôle supplémentaire. 

Grâce à cette fonctionnalité, nous pouvons contrôler son fonctionnement dans notre environnement réseau. Pour comprendre le fonctionnement de ce protocole dans notre trafic de données, appliquez ces commandes.

tcpdump -i eth0 -c5 -T rtcp

SNMP 

Le protocole de gestion de réseau simple (Simple Network Management Protocol) est un protocole standard de l'Internet permettant de collecter et d'organiser des informations sur les dispositifs gérés sur les réseaux IP et de modifier ces informations pour changer le comportement des dispositifs. 

Pour voir son fonctionnement dans notre trafic, appliquez cette commande.

tcpdump -i eth0 -c5 -T snmp

TFTP

Le protocole de transfert de fichiers trivial est un protocole de transfert de fichiers simple qui permet à son client d'obtenir un fichier à partir d'un hôte distant. 

Il est utilisé dans les premières étapes du démarrage d'un nœud à partir d'un réseau local. Pour comprendre son trafic, suivez cette commande.

tcpdump -i eth0 -c5 -T tftp

VAT

Visual Audio Tool, est développé par Van Jacobson et Steven McCanne. Il s'agit d'un média électronique traitant à la fois le son et une composante visuelle. 

Pour comprendre ses paquets de données dans notre trafic, nous devons appliquer ces commandes.

tcpdump -i eth0 -c5 -T vat

WB

Tableau blanc distribué, le programme permet à ses utilisateurs de dessiner et de taper les messages sur la toile, ce qui devrait être synchronisé avec tous les autres utilisateurs qui se trouvent sur le même réseau superposé pour les applications. 

Les nouveaux utilisateurs doivent également recevoir tout ce qui est déjà stocké sur le tableau blanc lorsqu'ils se connectent. Pour comprendre ses paquets de données, suivez cette commande.

tcpdump -i eth0 -c5 -T wb

VXLAN

Virtual Xtensible Local Area Network, est une technologie de virtualisation de réseau qui tente de résoudre les problèmes d'évolutivité associés à une vaste zone de cloud computing.

Il s'agit d'un protocole d'encapsulation de couche 3 proposé qui facilitera la tâche des ingénieurs réseau en matière d'extensibilité du cloud computing. Pour comprendre son trafic de données, suivez ces commandes.

tcpdump -i eth0 -c5 -T vxlan

Ce sont quelques-uns des protocoles qui sont utilisés sous le paramètre des paquets forcés pour obtenir le trafic de données fixe souhaité par le balayage.

Promiscuous Mode

Dans les réseaux informatiques, le mode promiscuous est utilisé comme un contrôleur d'interface qui fera en sorte que tcpdump transmette le trafic qu'il reçoit à l'unité centrale plutôt que de le transmettre au mode promiscuous, est normalement utilisé pour le reniflage de paquets qui peut avoir lieu sur une partie du LAN ou du routeur.

Pour configurer le mode promiscuous, suivez ces commandes.

ifconfig eth0 promisc ifconfig eth0

ifconfig eth0 promisc

ifconfig eth0

Après avoir activé le mode promiscuous dans notre réseau, capturons quelques paquets à l'aide de celui-ci en appliquant ces commandes.

tcpdump -i eth0 -c 10

No Promiscuous Mode

Dans le paramètre précédent, nous avons appris le mode promiscuous, qui signifie qu'une carte d'interface réseau transmet toutes les trames reçues au système d'exploitation pour traitement, contrairement au fonctionnement traditionnel où seules les trames destinées à l'adresse MAC de la carte d'interface réseau ou à une adresse de diffusion sont transmises au système d'exploitation. 

En général, le mode promiscuous est utilisé pour "renifler" tout le trafic sur le fil. Mais si nous voulons passer en mode multicast contre le mode promiscuous. 

Nous devons alors utiliser le paramètre -no-promiscuous-mode, qui nous aide à choisir le mode sans modifier les paramètres du réseau.

tcpdump -i eth0 -c 5 --no-promiscuous-mode

Ceci est la deuxième partie de la série. Familiarisez-vous avec ces fonctionnalités et restez à l'écoute des fonctionnalités avancées de tcpdump dans notre prochain article.

Guide complet pour sur tcpdump (Part 3)

Ceci est le troisième article de la série " Comprehensive Guide to tcpdump ". Veuillez trouver le premier et le deuxième article de la série ci-dessous.

  • Guide complet de tcpdump (1ère partie).
  • Guide complet de tcpdump (Partie 2).

Dans cette partie, nous allons couvrir certaines des fonctionnalités avancées que nous n'avons pas pu couvrir dans les parties précédentes de la série. Ainsi, nous pourrons tirer davantage de bénéfices de cet outil.

Table du contenu

  • Version Information
  • Quick mode
  • Verbose mode
  • HTTP Requests
  • User Agent
  • Port Range
  • Destination
  • Source
  • Network
  • TCP Packets
  • Tcpdump to Wireshark

Informations sur la version

Commençons par l'une des commandes les plus simples afin de pouvoir comprendre et relier toutes les pratiques au cours de l'article. 

Nous pouvons utiliser ce paramètre pour imprimer la chaîne des versions de tcpdump, libpcap et OpenSSL.

tcpdump --version

Quick Mode

On peut soutenir que si le réseau est très calme, l'exécution de toute opération pendant ce temps prendra plus de temps que d'habitude. 

La personne qui a développé tcpdump a pensé à cette énigme et nous a donné le moyen d'accélérer le processus en utilisant le paramètre "-q". Il imprimera moins d'informations sur les protocoles et les paquets de données pour gagner du temps.

tcpdump -i eth0 -c 5 tcpdump -i eth0 -c 5 -q

Verbose Mode

Le mode verbeux est connu pour fournir des informations supplémentaires concernant les opérations. Dans TCPDump, le mode verbeux fournit également de telles informations. Par exemple, le temps restant à vivre, l'identification, la longueur totale. Il peut également activer des contrôles supplémentaires de l'intégrité des paquets, comme la vérification des valeurs de checksum des en-têtes IP et ICMP.

TCPDump nous fournit beaucoup de paramètres qui sont déplacés dans ce mode comme -v, -vv, -vvv, où chaque paramètre a son efficacité unique.

  • Le paramètre -v est le mode verbeux traditionnel.
  • Le paramètre -vv est plus que le mode verbeux traditionnel, des champs supplémentaires sont imprimés à partir des paquets de réponse NFS (Network File System) et les paquets SMB sont entièrement décodés.
  • Le paramètre -vvv a quelque chose de plus à fournir comme les options de tenet etc.

tcpdump -i eth0 -c 2 tcpdump -i eth0 -c 2 -v tcpdump -i eth0 -c 2 -vv tcpdump -i eth0 -c 2 -vvv

tcpdump -i eth0 -c 2

tcpdump -i eth0 -c 2 -v

tcpdump -i eth0 -c 2 -vv

tcpdump -i eth0 -c 2 -vvv

Requête HTTP

Comme nous le savons tous, les requêtes HTTP sont des messages d'information envoyés par un client à un serveur via le protocole de transfert hypertexte (HTTP). Il existe plusieurs méthodes pour délivrer cette information. 

Ces méthodes sont sensibles à la casse et sont toujours mentionnées en MAJUSCULES. Grâce à tcpdump, nous pouvons capturer ces requêtes pour analyser le trafic envoyé sur ledit protocole.

La méthode que nous pouvons capturer par tcpdump est la suivante :

  • GET- Cette méthode est utilisée pour récupérer les informations du serveur donné en utilisant une URL donnée. Les requêtes utilisant GET doivent uniquement récupérer des données et n'avoir aucun autre effet sur celles-ci. Nous pouvons également capturer cette requête à l'aide de tcpdump.

tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'

  • POST-  Cette requête est utilisée pour envoyer des données au serveur. Comme les informations sur les clients, le téléchargement de fichiers, etc. à l'aide de formulaires HTML. Le trafic sur ce protocole peut être analysé en utilisant la commande suivante :

tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354'

  • Request-URL- Il s'agit d'un identifiant de ressource uniforme, qui identifie la ressource sur laquelle nous devons appliquer les demandes. La forme la plus courante est utilisée pour identifier une ressource sur un serveur. 

Si un client souhaite récupérer les données directement sur le serveur, d'où elles proviennent, il doit alors créer une connexion au port 80 de l'hôte et envoyer la requête. Ces requêtes peuvent être capturées à l'aide des commandes suivantes :

tcpdump -v -n -l | egrep -i "POST /|GET /|Host:"

User Agent

Avec TCPDump, vous pouvez également voir quel trafic est généré par quelle application. Nous pouvons également trouver les agents utilisateurs dans notre trafic de données en utilisant la commande suivante :

tcpdump -nn -A -s150 -l | grep "User-Agent:"

Port Range

Certains filtres de port ordinaires nous aident à analyser le trafic sur un port particulier. Mais dans tcpdump, nous donnons à notre analyse une gamme de ports à travers lesquels elle peut surveiller la destination de TCP/UDP ou d'autres protocoles réseau basés sur les ports.

tcpdump -i eth0 portrange 21-80

Destination

Pour vérifier le flux de données dans le trafic réseau vers une destination particulière, utilisez la commande suivante pour cela :

tcpdump -i eth0 dst google.com

Source

Pour vérifier le trafic de données provenant d'une source particulière, nous pouvons suivre la commande donnée ci-dessous :    

tcpdump -i eth0 src google.com

Réseau

Pour trouver les paquets en provenance ou à destination d'un réseau particulier, nous pouvons utiliser la fonction suivante pour analyser ce trafic :  

tcpdump net 192.168.0.1 -c5

Paquets TCP

Le paquet TCP est un format composé de champs tels que le port source et le port de destination. 

Grâce à ces champs, nous pouvons identifier les points d'extrémité des connexions et nous pouvons également capturer ces paquets TCP dans leurs différents formats de drapeaux, à savoir SYN, RST et ACK.

  • SYN- Le drapeau SYN est connu pour synchroniser les numéros de séquence afin d'initier une connexion TCP. Nous pouvons capturer ce paquet particulier du trafic avec l'aide de tcpdump.

tcpdump 'tcp[tcpflags] == tcp-syn'

  • RST- Le drapeau RST est connu sous le nom de drapeau de réinitialisation. Ce drapeau est envoyé par le récepteur à l'expéditeur si un paquet est envoyé à un hôte particulier qui l'attendait. Le drapeau RST est utilisé pour rétablir une connexion TCP de bout en bout. Nous pouvons capturer ce drapeau à partir de notre trafic de données avec l'aide de tcpdump.

tcpdump 'tcp[tcpflags] == tcp-rst'

  • ACK- Le drapeau ACK est connu comme le drapeau d'accusé de réception. Ce drapeau est utilisé pour confirmer que notre paquet de données a été reçu avec succès. Nous pouvons capturer ces drapeaux avec tcpdump pour étudier notre trafic de données.

tcpdump 'tcp[tcpflags] == tcp-ack' -c5

Tcpdump à Wireshark

La seule différence entre Wireshark et TCPDump est que Wireshark est une interface graphique alors que tcpdump est un outil en ligne de commande. 

Mais avec l'aide de quelques sources, nous utilisons une commande sur tcpdump et visualisons les résultats de notre trafic de données dans Wireshark qui, selon nous, est la meilleure façon d'analyser notre trafic. 

Cela peut être fait en utilisant la commande suivante :

ssh root@remotesystem 'tcpdump -c20 -nn -w - not port 22' | wireshark -k -i –

Après avoir exécuté cette commande, Wireshark s'ouvre immédiatement et pose quelques questions sur notre analyse. Appuyez sur OK pour aller plus loin.

Après cela, il vous demandera quelle interface réseau nous voulons capturer les paquets de données. Dans notre cas, ce sera eth0, nous allons donc sélectionner cette interface réseau.

Après avoir rempli toutes les formalités, notre écran de capture de données en direct apparaîtra avec nos paquets de données capturées.

En suivant ces étapes, nous pouvons exécuter une commande pour tcpdump et capturer ses résultats dans Wireshark.


Tu as bien aimé l'article ou tu as mal aux yeux :

Le lien du PDF

Article écrit par :
Mikael Monjour
Data et Automatisation