Résoudre les problèmes de réseau sous Linux

Résoudre les problèmes de réseau sous Linux

Dans cet article, nous expliquerons comment résoudre les problèmes de réseau sous Linux à l'aide de la commande tcpdump.

tcpdump est un analyseur de paquets en ligne de commande flexible et puissant ; et libpcap, une bibliothèque C/C++ portable pour la capture du trafic réseau. Un outil puissant et polyvalent qui comprend de nombreuses options et filtres, tcpdump peut être utilisé dans une variété de cas. Puisqu'il s'agit d'un outil en ligne de commande, il est idéal pour s'exécuter sur des serveurs ou des appareils distants pour lesquels une interface graphique n'est pas disponible, afin de collecter des données pouvant être analysées ultérieurement. Il peut également être lancé en arrière-plan ou en tant que tâche planifiée à l'aide d'outils tels que cron.

Commençons par le processus d'installation.

1. Installez tcpdump

Si tcpdump n'est pas déjà installé sur votre système, vous pouvez l'installer à l'aide de la commande suivante :

Pour les systèmes basés sur CentOS ou Red Hat Enterprise Linux :

# dnf install tcpdump -y

Pour le système basé sur Ubuntu :

# apt-get install tcpdump -y

2. Vérifiez l'installation

Pour vérifier l'installation, utilisez la commande suivante :

# which tcpdump

Sortir:

/usr/sbin/tcpdump

Capturer des paquets avec tcpdump

Avant de capturer les paquets, vérifiez l'interface réseau à l'aide des commandes suivantes :

# tcpdump -D

Il affichera toutes les interfaces réseau disponibles.

Maintenant, commençons à capturer quelques paquets à l'aide des commandes suivantes :

# tcpdump --interface any

Tcpdump continue de capturer des paquets jusqu'à ce qu'il reçoive un signal d'interruption. Vous pouvez interrompre la capture en appuyant sur Ctrl+C. Pour limiter le nombre de paquets capturés et arrêter tcpdump, utilisez l'option -c (pour le nombre) :

# tcpdump -i any -c 10

Désactiver la résolution de noms

Dépannage des problèmes de réseau, il est souvent plus facile d'utiliser les adresses IP et les numéros de port ; désactivez la résolution de nom en utilisant l'option -n et la résolution de port avec -nn :

# tcpdump -i any -c5 -nn

Comme ci-dessus, la commande capturera la sortie et affiche désormais les adresses IP et les numéros de port.

Filtrage des paquets

L'une des fonctionnalités les plus puissantes de tcpdump est sa capacité à filtrer les paquets capturés en utilisant une variété de paramètres, tels que les adresses IP source et de destination, les ports, les protocoles, etc. Examinons quelques-uns des plus courants.

Pour capturer uniquement les paquets ICMP, utilisez les commandes suivantes :

# tcpdump -i any -c10 icmp

Limitez la capture aux seuls paquets liés à un hôte spécifique en utilisant le filtre d'hôte :

# tcpdump -i any -c5 -nn host 192.168.0.12

La commande ci-dessus capturera et affichera uniquement les paquets vers et depuis l'hôte 192.168.0.12.

Pour filtrer les paquets en fonction du service ou du port souhaité, utilisez le filtre de port. Par exemple, capturez des paquets liés à un service Web (HTTP) à l'aide de cette commande :

# tcpdump -i any -c10 -nn port 80

Pour filtrer les paquets en fonction de l'adresse IP ou du nom d'hôte source ou de destination. Par exemple, pour capturer des paquets de l'hôte 192.168.0.12 :

# tcpdump -i any -c10 -nn src 192.168.0.12

Enregistrer les captures dans un fichier

Pour enregistrer les paquets dans un fichier au lieu de les afficher à l'écran, utilisez l'option -w (pour l'écriture) :

# tcpdump -i any -c10 -nn -w webserver.pcap port 80

La commande ci-dessus permettra de capturer des paquets en mode batch pendant la nuit, par exemple, et de vérifier les résultats le matin. Cela aide également lorsqu'il y a trop de paquets à analyser, car la capture en temps réel peut se produire trop rapidement.

Plus d'exemples de commandes

Pour imprimer les paquets de début et de fin (les paquets SYN et FIN) de chaque conversation TCP impliquant un hôte non local.

# tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet'

Pour imprimer les paquets TCP avec les drapeaux RST et ACK tous deux définis. (c'est-à-dire, sélectionnez uniquement les drapeaux RST et ACK dans le champ des drapeaux, et si le résultat est "RST et ACK tous les deux définis", correspond)

# tcpdump 'tcp[tcpflags] & (tcp-rst|tcp-ack) == (tcp-rst|tcp-ack)'

Pour imprimer tous les paquets HTTP IPv4 vers et depuis le port 80, c'est-à-dire imprimer uniquement les paquets qui contiennent des données, pas, par exemple, les paquets SYN et FIN et les paquets ACK uniquement. (IPv6 est laissé en exercice au lecteur.)

# tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<2)) -="" ((tcp[12]&0xf0)="">>2)) != 0)'

Pour imprimer des paquets IP de plus de 576 octets envoyés via la passerelle snup :

# tcpdump 'gateway snup and ip[2:2] > 576'

Pour imprimer des paquets de diffusion ou de multidiffusion IP qui n'ont pas été envoyés via la diffusion ou la multidiffusion Ethernet :

# tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'

Pour imprimer tous les paquets ICMP qui ne sont pas des demandes/réponses d'écho (c'est-à-dire pas des paquets ping) :

# tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'

Vérifiez la page de manuel à l'aide de la commande suivante :

# man tcpdump

Dans cet article, nous avons vu comment résoudre les problèmes de réseau sous Linux à l'aide de la commande tcpump.

Obtenez un serveur dédié double série E5 hautes performances et un VPS KVM bon marché.


Comment installer et configurer CSF (ConfigServer Security & Firewall) sur CentOS 7

Comment installer et configurer CSF (ConfigServer Security & Firewall) sur CentOS 7

ConfigServer Security & Firewall (également appelé csf en abrégé) est un pare-feu Stateful Packet Inspection (SPI). Apprenez à installer et configurer CSF sur CentOS 7

Comment installer lagent de sauvegarde R1Soft sur CentOS

Comment installer lagent de sauvegarde R1Soft sur CentOS

Apprenez à installer R1Soft Backup Agent sur CentOS et à le configurer. R1Soft Server Backup Manager offre aux fournisseurs de services une solution flexible et conviviale pour les serveurs.

Comment modifier les limites CloudLinux LVE

Comment modifier les limites CloudLinux LVE

Dans cet article, nous avons expliqué comment modifier les limites CloudLinux LVE. Alors, commençons. Les limites CloudLinux LVE peuvent être modifiées à l'aide de LVE Manager.

Comment changer le SSH du port du serveur Linux

Comment changer le SSH du port du serveur Linux

Pour changer le port SSH du serveur Linux, vous devez vous connecter au serveur via SSH et modifier le fichier de configuration SSH.

Comment installer Centova Cast sur CentOS

Comment installer Centova Cast sur CentOS

Centova Cast est la principale plate-forme de gestion des flux de radio Internet, offrant un aperçu et un contrôle étendus aux fournisseurs d'hébergement de flux.Centova Cast

Comment configurer le relais de messagerie sur votre serveur de messagerie

Comment configurer le relais de messagerie sur votre serveur de messagerie

Vous pouvez surmonter les problèmes d'envoi d'e-mails en utilisant les paramètres de relais de messagerie suivants.

Comment installer Apache, MariaDB, PHP et phpMyAdmin dans Ubuntu 18.04

Comment installer Apache, MariaDB, PHP et phpMyAdmin dans Ubuntu 18.04

Nous allons apprendre à installer Apache MariaDB PHP et PHPMyAdmin sur le serveur Ubuntu 18.04. Apache, MySQL/MariaDB et PHP sont composés de packages. Il est connu sous le nom de LAMPE

Apprendre la gestion des utilisateurs de base sous Linux

Apprendre la gestion des utilisateurs de base sous Linux

Vous souhaitez ajouter, modifier ou supprimer un utilisateur sous Linux ? Voici l'article parfait pour vous.

Apprendre la gestion de groupe de base sous Linux

Apprendre la gestion de groupe de base sous Linux

En savoir plus sur la gestion de groupe sous Linux. Comment ajouter un groupe, modifier un groupe et supprimer un groupe, ajouter des membres sous Linux. Créez un nouveau groupe, utilisez la commande groupadd.

Apprenez à installer Fail2ban sur CentOS 7

Apprenez à installer Fail2ban sur CentOS 7

Fail2ban est très utile pour sécuriser la connexion SSH. Vous devriez maintenant pouvoir installer et configurer fail2ban sur centos7, ajouter une couche de sécurité supplémentaire au serveur