killsnoop.bt

Linux
Publiée le 2026-10-01 05:34:49
Illustration Linux pour la commande killsnoop.bt

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))'