tcpaccept.bt

Linux
Publiée le 2026-10-02 05:18:55
Illustration Linux pour la commande tcpaccept.bt

bpftrace

# Pour vérifier les informations de support BPF du noyau, tu peux faire ça :
bpftrace --info

# Lister tous les points de sondage (probes) disponibles pour que tu saches quoi tracer :
bpftrace -l

# Exécuter un programme simple en mémoire pour compter les appels système 'open' :
bpftrace -e 'kprobe:sys_open { @count = @count + 1; printf("Open détecté!\n") }'

# Tracer l'activité d'un processus spécifique (PID 1234) et afficher le message :
bpftrace -p 1234 -e 'tracepoint:syscalls/sys_enter { printf("Processus %d entre dans un appel système.\n", pid) }'

# Exécuter une commande shell et activer les sondes USDT sur le processus résultant :
bpftrace -c "ls /etc"

# Tracer l'utilisation du temps CPU pour toutes les fonctions noyau (kprobe) :
bpftrace -e 'kprobe:do_sys_open { @cpu_time = nsecs; }'

# Rediriger toute la sortie de traçage vers un fichier spécifique :
bpftrace -o /tmp/trace_output.txt -e '...'

# Exécuter une séquence complexe en utilisant des includes pour ne pas surcharger le script :
bpftrace --include scripts/common.inc -e 'kprobe:read { print(args) }'

# Désactiver les messages inutiles pour un traçage plus propre et silencieux :
bpftrace -q -e '...'

# Permettre l'utilisation de fonctions intégrées non sécurisées si nécessaire (attention !) :
bpftrace --unsafe -e '...'

# Tracer le format JSON des événements au lieu du texte par défaut pour un parsing facile :
bpftrace -f FORMAT json -e '...'

# Utiliser une variable d'environnement ou un argument de ligne de commande dans ton script :
bpftrace -e 'printf("Le traçage est lancé avec l\'argument %s\n", $ARGV[0])'

# Vérifier la syntaxe et les options sans lancer le traçage réel (utile pour déboguer) :
bpftrace --help

# Activer des sémaphores USDT basés sur un chemin de fichier spécifique :
bpftrace --usdt-file-activation /var/log/myapp.log

# Tracer l'entrée et la sortie d'une fonction système (ex: write) :
bpftrace -e 'kprobe:sys_write { printf("Write entré.\n"); } kretprobe:sys_write { printf("Write sorti.\n") }'