Commande TCPflow pour analyser le trafic réseau sous Linux

L'analyse du trafic réseau devient l'une des tâches d'administration les plus courantes et les plus nécessaires quel que soit le type d'organisation car une mauvaise configuration TCP entraînera des erreurs de connexion et de gestion de tous les paquets réseau.

Le protocole TCP (Transmission-Control-Protocol), est l'un des protocoles les plus utilisés dans les environnements réseau car il facilite l'administration des données qui arrivent ou vont à l'adresse IP afin que l'ensemble du réseau de processus se termine avec succès.

fonctionnalitésCertaines des caractéristiques de ce protocole sont :

  • Facilite la surveillance des flux de données en évitant la saturation du réseau
  • Permet aux données d'être formées en segments de longueur variable à livrer au protocole IP
  • Il donne la possibilité de multiplexer les données, c'est-à-dire qu'il fait circuler simultanément les informations provenant de différentes sources.

Désormais, il existe plusieurs options pour analyser ce trafic réseau et c'est grâce à l'utilitaire TCPflow, que Solvetic vous expliquera comment l'installer et l'utiliser dans des environnements Linux.

Qu'est-ce que TCPflowL'outil tcpflow a été développé en tant que programme qui capture les données transmises via les connexions TCP, puis stocke ces données pour une analyse et un débogage ultérieurs du protocole.

Chaque flux TCP est stocké dans son fichier respectif, ainsi le flux TCP typique sera stocké dans deux fichiers, un pour chaque adresse gérée.

Son ensemble de fonctionnalités comprend un système de plug-in avancé qui permet de décompresser les connexions HTTP compressées, d'annuler l'encodage MIME ou d'appeler des programmes tiers pour le post-traitement, et bien d'autres options.

Utilisations pratiques TCPflowCertaines des utilisations pratiques où TCPflow est utile sont :

  • Comprendre les flux de paquets réseau et effectuer des analyses de réseau
  • Révéler le contenu des sessions HTTP
  • Reconstruire les pages Web téléchargées via HTTP
  • Extraire les logiciels malveillants livrés avec la catégorie des téléchargements intempestifs

Voyons maintenant comment utiliser TCPflow

1. Comment installer TCPflow sur Linux

Étape 1
Pour installer TCPflow, nous devons exécuter l'une des commandes suivantes en fonction de la distribution utilisée :

 sudo apt install tcpflow (Debian/Ubuntu) sudo yum install tcpflow (CentOS/RHEL) sudo dnf install tcpflow (Fedora)

AGRANDIR

Nous entrons la lettre S pour confirmer le téléchargement et l'installation de l'utilitaire.

Étape 2
Après l'installation de TCPflow, il sera possible de l'exécuter avec des privilèges de superutilisateur ou bien d'utiliser la commande sudo, TCPflow écoute sur l'interface réseau active du système.

 sudo tcpflow

AGRANDIR

Dans ce cas, nous verrons que l'interface sélectionnée est enp0s3.

Étape 3
Par défaut, TCPflow stocke toutes les données capturées dans des fichiers dont les noms se présentent sous la forme suivante :

 sourceip.sourceport-destip.destport
Étape 4
Nous pouvons faire une liste de répertoires pour vérifier si le flux TCP a été capturé dans un fichier disponible, nous exécutons :
 ls -l

AGRANDIR

Comme mentionné précédemment, chaque flux TCP est stocké dans son propre fichier, on y trouve différentes formes.
Le premier fichier 192.168.000.004.51548-040.112.187.188.05228 contient les données transférées de l'hôte sur lequel elles ont été exécutées via le port sélectionné vers l'hôte distant via le port indiqué.

2. Comment vérifier les détails de navigation capturés par TCPflow Linux

Étape 1
Pour vérifier cela, nous pouvons ouvrir un autre terminal et exécuter un ping ou surfer sur Internet, les détails de navigation que TCPflow capture y seront reflétés, nous exécutons ce qui suit :

 sudo tcpflow -c

AGRANDIR

Étape 2
TCPflow nous permet de capturer tout le trafic sur un seul port, comme le port 80 (HTTP), pour ce cas, vous pouvez voir les en-têtes HTTP suivis du contenu, nous exécutons ce qui suit :

 sudo tcpflow port 80

AGRANDIR

Étape 3
Nous pouvons capturer des paquets à partir d'une interface réseau spécifique, avec le paramètre -i pour spécifier le nom de l'interface comme ceci :

 sudo tcpflow -i enp0s3 port 80
Il est également possible d'indiquer un hôte de destination en prenant son adresse IP ou son URL :
 sudo tcpflow -c hôte www.solvetic.com 

AGRANDIR

Étape 4
Il sera possible d'activer tous les processus des scanners avec le paramètre -a :

 sudo tcpflow -a
Étape 5
Nous pouvons spécifier un scanner spécial à activer, les scanners disponibles incluent md5, http, netviz, tcpdemux et wifiviz, les options à utiliser sont :
 sudo tcpflow -e http sudo tcpflow -e md5 sudo tcpflow -e netviz sudo tcpflow -e tcpdemux sudo tcpflow -e wifiviz
Étape 5
Si nous voulons activer le mode verbe, nous pouvons exécuter l'une des options suivantes :
 sudo tcpflow -d 10 sudo tcpflow -v

AGRANDIR

Enfin, pour accéder à l'aide de l'utilitaire nous exécutons :

 homme tcpflow
Ainsi, TCPflow nous permet d'avoir le contrôle sur tous les processus TCP dans les environnements Linux de manière globale et complète.

wave wave wave wave wave