42.3. Surveillance des chutes de paquets sur le réseau avec SystemTap


La pile réseau de Linux peut rejeter des paquets pour diverses raisons. Certains noyaux Linux incluent un point de traçage, kernel.trace("kfree_skb")`, qui permet de savoir où les paquets sont rejetés.

Le script dropwatch.stp SystemTap utilise kernel.trace("kfree_skb") pour tracer les rejets de paquets ; le script résume les emplacements qui rejettent des paquets à chaque intervalle de 5 secondes.

Conditions préalables

Procédure

  • Exécutez le script dropwatch.stp:

    # stap  --example dropwatch.stp
    Copy to Clipboard Toggle word wrap

    L'exécution du script dropwatch.stp pendant 15 secondes produit un résultat similaire à celui qui suit :

    Monitoring for dropped packets
    51 packets dropped at location 0xffffffff8024cd0f
    2 packets dropped at location 0xffffffff8044b472
    51 packets dropped at location 0xffffffff8024cd0f
    1 packets dropped at location 0xffffffff8044b472
    97 packets dropped at location 0xffffffff8024cd0f
    1 packets dropped at location 0xffffffff8044b472
    Stopping dropped packet monitor
    Copy to Clipboard Toggle word wrap
    Note

    Pour rendre l'emplacement des chutes de paquets plus significatif, consultez le fichier /boot/System.map-$(uname -r). Ce fichier répertorie les adresses de départ de chaque fonction, ce qui vous permet de faire correspondre les adresses de la sortie du script dropwatch.stp à un nom de fonction spécifique. Dans l'extrait suivant du fichier /boot/System.map-$(uname -r), l'adresse 0xffffffff8024cd0f correspond à la fonction unix_stream_recvmsg et l'adresse 0xffffffff8044b472 correspond à la fonction arp_rcv:

    [...]
    ffffffff8024c5cd T unlock_new_inode
    ffffffff8024c5da t unix_stream_sendmsg
    ffffffff8024c920 t unix_stream_recvmsg
    ffffffff8024cea1 t udp_v4_lookup_longway
    [...]
    ffffffff8044addc t arp_process
    ffffffff8044b360 t arp_rcv
    ffffffff8044b487 t parp_redo
    ffffffff8044b48c t arp_solicit
    [...]
    Copy to Clipboard Toggle word wrap
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat