killsnoop.bt
Linux
Publiée le
2026-10-01 05:34:49
bpftrace
# Vérifie si ton système supporte bien BPF et affiche les infos générales
bpftrace --info
# Liste tous les hooks ou probes disponibles pour que tu saches quoi tracer
bpftrace -l
# Exécute un programme simple en mode texte standard (exemple de trace)
bpftrace -e 'kprobe:execve { printf("Processus lancé : %s\n", str(arg1)) }'
# Trace les événements uniquement pour le PID 1234 (remplace par ton ID réel)
bpftrace -p 1234 -e 'syscalls:enter { printf("PID %d est entré dans un appel système.\n", pid) }'
# Redirige toute la sortie de tracing vers ce fichier spécifique
bpftrace -o trace_output.log -e 'kstats'
# Active les probes USDT en fonction d'un chemin de fichier (si applicable)
bpftrace --usdt-file-activation /path/to/app.so
# Exécute un programme sans afficher les messages intermédiaires, plus discret
bpftrace -q -e 'kprobe:do_sys_open { printf("Ouverture détectée.\n") }'
# Force le mode de buffering complet pour capturer toutes les données
bpftrace -B full -e 'tracepoint:syscalls/exit {}'
# Exécute un programme et capture les événements du processus résultant (ex: ls)
bpftrace -c 'ls /etc'
# Utilise un fichier d'inclusion externe pour des définitions complexes
bpftrace --include ./includes/defs.h -e '...'
# Trace en format JSON, utile si tu passes le résultat à un autre script
bpftrace -f json -e 'kstats'
# Permet l'utilisation de fonctions builtin considérées comme "unsafe" (si nécessaire)
bpftrace --unsafe -e '...'
# Lit les données d'entrée standard pour y appliquer une trace (via stdin)
echo "test data" | bpftrace -e 'printf("Données reçues : %s\n", str(args))'