biostacks.bt
Linux
Publiée le
2026-09-24 05:02:13
bpftrace
# Affiche l'aide de bpftrace pour voir toutes les options disponibles
bpftrace --help
# Exécute un script simple directement en ligne (ex: compter les appels système)
bpftrace -e 'kprobe:sys_read { printf("Lecture détectée!\n") }'
# Lit et exécute un programme de traçage depuis un fichier externe
bpftrace /chemin/vers/mon_script.bt
# Redirige la sortie des événements vers un fichier pour analyse ultérieure
bpftrace -o output_trace.log 'kprobe:execve {}'
# Exécute le script en format JSON, utile pour le parsing machine
bpftrace -f json -e 'syscalls:enter { printf("%d", nsecs) }'
# Active les sondes USDT (User Space Tracing) sur un processus spécifique par son PID
bpftrace -p 1234 'usdt_probe {}'
# Affiche des informations détaillées sur le support BPF du noyau actuel
bpftrace --info
# Exécute en mode tampon "none" pour voir les événements immédiatement sans mise en mémoire tampon
bpftrace -B none -e 'kprobe:vfs_read {}'
# Permet l'utilisation de fonctions intégrées considérées comme "unsafe" (pour des tests avancés)
bpftrace --unsafe -e '...'
# Liste toutes les sondes disponibles pour aider à cibler un événement précis
bpftrace -l
# Exécute une commande shell et active les sondes USDT sur le processus résultant
bpftrace -c 'bash -c "ls /tmp"'
# Traque tous les événements de syscalls d'entrée (enter)
bpftrace -e 'syscalls:enter {}'
# Utilise un fichier pour inclure des définitions spécifiques avant le préprocesseur
bpftrace --include headers.bt -e '...'
# Exécute une série de commandes en utilisant l'opérateur pipe, idéal pour les logs
cat /var/log/messages | bpftrace -e '...{}'
# Supprime la sortie par défaut (keep messages quiet) si tu ne veux que des événements spécifiques
bpftrace -q -e 'kprobe:my_func {}'