naptime.bt
Linux
Publiée le
2026-10-12 05:02:30
bpftrace
# Exécute un script simple pour compter les appels système 'open'
bpftrace -e 'kprobe:vfs_write { printf("Écrit sur le fichier : %s\n", str(args->filename)) }'
# Liste tous les points de contrôle (probes) disponibles dans le noyau
bpftrace --list probes
# Exécute un programme pour suivre la durée d'une fonction spécifique
bpftrace -e 'kprobe:do_sys_open { @count = count(); printf("Open appelé %d fois.\n", @count); }'
# Filtre les événements uniquement pour le processus avec l'ID 12345
bpftrace -p 12345 -e 'syscalls:enter { print(krtime()) }'
# Redirige toute la sortie de bpftrace vers un fichier log
bpftrace -e 'printf("Test\n");' --output /tmp/bpf_log.txt
# Utilise une librairie externe (fichier .bt) pour analyser les événements
bpftrace mon_script_analyse.bt
# Ajoute un chemin de recherche spécifique pour les includes
bpftrace -I /opt/includes/path -e 'printf("Test\n");'
# Exécute un programme en utilisant des données d'entrée standard (stdin)
cat data.txt | bpftrace -e 'printf("Donnée reçue : %s\n", str(args));'
# Active les sondes USDT pour le processus actuel et exécute une commande
bpftrace --cmd "ls /etc"
# Désactive certaines fonctionnalités de détection si elles posent problème
bpftrace --no-feature networking,syscalls -e 'printf("Test\n");'
# Exécute un programme qui affiche les arguments d'une fonction système
bpftrace -e 'kprobe:read { printf("Lecture sur fd %d avec taille %d.\n", args->fd, args->count); }'
# Suit l'exécution de la méthode `write` en Python (si USDT est disponible)
bpftrace -p 5000 --usdt-file-activation 'py:write { printf("Python a écrit : %s\n", str(args)); }'
# Affiche les options d'aide pour te rafraîchir la mémoire
bpftrace --help