Oui eBPF c'est parfait pour ça. Tu peux attacher des programmes à des points précis dans le kernel (kprobes tracepoints) et voir où les paquets sont droppés. Le `tcpdrop` de BCC est un classique
sudo /usr/share/bcc/tools/tcpdropÇa te donnera la raison exacte du drop
Pour débuter `bpftrace` c'est plus simple que d'écrire du C eBPF. Tu peux faire des scripts rapides pour tracer des fonctions réseau du kernel. Genre voir l'entrée/sortie de `ip_rcv_finish`
kprobe:ip_rcv_finish {printf("IP rcv finish");}
Regarde aussi `tcptracer` et `dropsnoop` du toolkit BCC. `dropsnoop` est super pour voir les paquets perdus et la stack trace au moment du drop. C'est du low-level de fou
J'ai utilisé `tcpdrop` de BCC et j'ai vu des `reset_reason` inattendus et des `socket buffer overflow`. Ça m'a mis sur la piste d'un souci de tuning de buffers TCP sur la machine. C'est exactement ce que je cherchais. Merci
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
costa-benjamin
Membre depuis le 18/02/2025j'ai des pertes de paquets bizarres sur une machine spécifique. iptables est ok les logs sont muets. je veux voir ce qui se passe au niveau kernel. eBPF ça peut m'aider ?