tcpsynbl.bt
Linux
Publiée le
2026-10-12 05:14:53
bpftrace
# Exécute un programme simple directement en ligne pour tester la syntaxe
bpftrace -e 'kprobe:sys_read { printf("Lecture détectée sur %s\n", comm) }'
# Lit et exécute les règles définies dans un fichier spécifique (ex: rules.bt)
bpftrace ./rules.bt
# Redirige toute la sortie de bpftrace vers un fichier pour l'analyse ultérieure
bpftrace -o output_trace.log -e 'syscalls { printf("%d\n", count()) }'
# Filtre les actions et ne trace que ce qui se passe sur un PID spécifique (ex: 1234)
bpftrace --pid 1234 -e 'kprobe:do_sys_open {}'
# Liste tous les points de contrôle du noyau disponibles pour le débogage
bpftrace --list search
# Liste tous les programmes ou sondes spécifiques que tu peux tracer
bpftrace --list filename
# Ajoute un fichier d'inclusion avant de traiter ton programme principal
bpftrace --include common_includes.bt -e 'kprobe:execve {}'
# Exécute une commande shell (CMD) et active les sondes USDT pour le processus résultant
bpftrace --cmd "sleep 5"
# Définit le mode de mise en tampon de sortie sur 'full' pour capturer plus de contexte
bpftrace -B full -e 'kprobe:vfs_read {}'
# Définit le format de sortie des données en JSON, utile pour le parsing machine
bpftrace -f text --format json -e 'syscalls { printf("{\"time\": %d}\n", nsecs) }'
# Désactive une fonctionnalité spécifique si elle cause des problèmes (ex: feature_x)
bpftrace --no-feature problematic_feature
# Lance un programme qui écoute les appels système et compte leur occurrence
bpftrace -e 'syscalls { count(); printf("Total calls: %d\n", count()) }'
# Exécute une analyse de base en utilisant l'entrée standard (stdin) pour le script
cat my_script.bt | bpftrace -
# Utilise un programme qui s'exécute sur les événements réseau (si disponible)
bpftrace -e 'kprobe:tcp_sendmsg {}'
# Vérifie la syntaxe et l'aide de l'outil
bpftrace --help