Capture de paquets de données réseau Linux

Qu’est-ce que la capture de paquets de données réseau ?

        La capture de paquets de données réseau est une technologie importante de dépannage réseau et de détection de la sécurité du réseau. Elle peut capturer et analyser les paquets de données transmis sur le réseau, aidant ainsi les administrateurs réseau et les experts en sécurité à diagnostiquer les pannes du réseau, à optimiser les performances du réseau et à surveiller la sécurité du réseau. Voici quelques raisons de la capture de paquets de données réseau :

  1. Dépannage : la capture de paquets de données réseau peut aider à localiser les pannes du réseau, à analyser les situations anormales telles que la perte, le retard, la duplication et les erreurs des paquets de données réseau, à découvrir la cause de la panne et à la résoudre.
  2. Optimisation des performances : la capture de paquets de données réseau peut analyser le trafic réseau et compter la taille, la quantité, le temps de transmission et d'autres paramètres des paquets de données réseau pour aider à optimiser les performances du réseau et à améliorer le débit et la vitesse de réponse du réseau.
  3. Surveillance de la sécurité : la capture de paquets de données réseau peut surveiller la sécurité du réseau, détecter les attaques réseau, les logiciels malveillants et autres menaces de sécurité, détecter et prévenir les incidents de sécurité en temps opportun et protéger la sécurité du réseau.
  4. Analyse des applications : la capture de paquets de données réseau peut analyser le trafic de données, le retard et le débit de l'application, détecter les problèmes de performances et les erreurs de l'application, et aider à optimiser la conception et la mise en œuvre de l'application.

La capture de paquets de données réseau est une technologie de gestion de réseau importante qui peut aider les administrateurs réseau et les experts en sécurité à mieux gérer et protéger le réseau, et à améliorer la disponibilité, les performances et la sécurité du réseau.

Comment capturer des paquets de données réseau

        Il existe plusieurs méthodes principales. Pour les plus simples, vous pouvez utiliser directement la ligne de commande tcpdump. Pour les plus compliquées, vous pouvez utiliser Wireshark pour capturer des paquets. Il n'est pas pratique de prendre des captures d'écran ici, je vais donc vous présenter le simple tcpdump.

        tcpdump        

        tcpdump est un outil de ligne de commande permettant de capturer et d'analyser les paquets réseau. Il peut être utilisé sur Unix, Linux, Windows et d'autres systèmes d'exploitation. Tcpdump fonctionne en capturant les paquets sur le réseau et en utilisant des filtres spécifiques pour filtrer et analyser ces paquets. Cela permet aux administrateurs de surveiller le trafic réseau, de détecter les problèmes de réseau, d'analyser les performances du réseau et de trouver les vulnérabilités de sécurité du réseau.

        Utiliser tcpdump

1. Avant d'utiliser tcpdump, nous devons déterminer l'interface réseau capturée. Prenons Linux comme exemple et utilisons la commande ifconfig ou ip a pour afficher la liste des ports réseau. Si elle n'est pas trouvée en exécutant ces deux commandes, vous devez téléchargez d'abord la bibliothèque correspondante.

//ubuntu运行ifconfig
apt-get install net-tools


//centos运行ip a
yum -y install initscripts
root@93da3b39d1f0:/# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 4650  bytes 6677565 (6.6 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3744  bytes 250267 (250.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2. Utilisons d'abord la commande help pour voir quels paramètres sont disponibles.

root@93da3b39d1f0:/# tcpdump -h
tcpdump version 4.99.1
libpcap version 1.10.1 (with TPACKET_V3)
OpenSSL 3.0.2 15 Mar 2022
Usage: tcpdump [-AbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [--count]
                [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
                [ -i interface ] [ --immediate-mode ] [ -j tstamptype ]
                [ -M secret ] [ --number ] [ --print ] [ -Q in|out|inout ]
                [ -r file ] [ -s snaplen ] [ -T type ] [ --version ]
                [ -V file ] [ -w file ] [ -W filecount ] [ -y datalinktype ]
                [ --time-stamp-precision precision ] [ --micro ] [ --nano ]
                [ -z postrotate-command ] [ -Z user ] [ expression ]

Simple à utiliser 

tcpdump -i interface -nn -w reputation.txt

//tcpdump -i eth0 -nn -w reputation.txt

        Parmi eux, -i interface indique l'interface réseau à capturer, -nn indique ne pas convertir l'adresse IP en nom d'hôte et -w republic.txt indique l'enregistrement des paquets capturés dans le fichier republication.txt.

3. Surveiller les données du protocole spécifié

tcpdump -i eth0 -nn 'icmp'

Pour afficher les détails des paquets capturés, écoutez les données du protocole icmp, qui est le protocole utilisé par la commande ping. Vous pouvez tirer des conclusions à partir d'un exemple. Si vous souhaitez surveiller le protocole TCP ou UDP, il vous suffit de modifier icmp en TCP ou UDP.

4. Écoutez l'hôte spécifié

tcpdump -i eth0 -nn 'host 192.168.1.2'

Dans ce cas, les paquets reçus et envoyés par l'hôte 192.168.1.2 seront capturés.

tcpdump -i eth0 -nn 'dst host 192.168.1.2'

Si dst est ajouté, la cible ici est uniquement 192.168.1.2, ce qui signifie que seuls les paquets reçus par cet hôte seront capturés.

$ tcpdump -i eth0 -nn 'src host 192.168.1.2'

Si c'est src, cela signifie que seuls les paquets envoyés par cet hôte seront capturés.

5. Écoutez le port spécifié

tcpdump -i eth0 -nn -A 'port 80'

Le paramètre A est utilisé pour afficher des informations détaillées sur chaque paquet, y compris l'adresse source, l'adresse de destination, le type de protocole, la longueur du paquet, le numéro de séquence, le numéro de confirmation, etc. Utilisez le paramètre -A pour analyser les paquets réseau plus en détail, aidant ainsi à identifier les problèmes de réseau potentiels et les risques de sécurité.

Si le port est spécifié ici comme 80, vous ne pouvez surveiller que tous les paquets de données envoyés par le port 80 de l'hôte. Vous pouvez utiliser le paramètre -A pour afficher des informations détaillées et visualiser les informations plus facilement.

Bien entendu, le port peut également être combiné avec l'hôte, comme par exemple

tcpdump -i eth0 -nnA 'port 80 and src host 192.168.1.2'

De cette façon, vous pouvez surveiller le port 80 et surveiller les données envoyées par l'IP 192.168.1.2.

Je suppose que tu aimes

Origine blog.csdn.net/u013379032/article/details/131989639
conseillé
Classement