{"repo":"cilium/pwru","free":true,"listed":false,"github":"https://github.com/cilium/pwru","clone":"git clone https://github.com/cilium/pwru.git","description":"Packet, where are you? -- eBPF-based Linux kernel networking debugger","language":"C","stars":3812,"topics":["linux","network","ebpf","bpf","tracing","kernel"],"license":"Apache-2.0","category":"analytics","readme_excerpt":"pwru (packet, where are you?) pwru is an eBPF-based tool for tracing network packets in the Linux kernel with advanced filtering capabilities. It allows fine-grained introspection of kernel state to facilitate debugging network connectivity issues. The following example shows where the packets of a curl request are dropped after installing an IP tables rule: Running Requirements pwru requires = 5.3 kernel to run. For --output-skb = 5.9 kernel is required. For --backend=kprobe-multi = 5.18 kernel is required. pwru optionally requires debugfs . It has to be mounted in /sys/kernel/debug . In case the folder is empty, it can be mounted with: The following kernel configuration is required. Option Backend Note ------------------------ ------------- ----------------------------------------------------- CONFIG DEBUG INFO BTF=y both available since = 5.3 CONFIG KPROBES=y both CONFIG PERF EVENTS=y both CONFIG BPF=y both CONFIG BPF SYSCALL=y both CONFIG FUNCTION TRACER=y kprobe-multi /sys/kernel/debug/tracing/available filter functions CONFIG FPROBE=y kprobe-multi available since = 5.18 You can use zgrep $OPTION /proc/config.gz to validate whether option is enabled. Downloading You can download the statically linked executable for x86\\ 64 and arm64 from the release page. Usage The --filter-func switch does an exact match on function names i.e. --filter-func=foo only matches foo() ; for a wildcarded match, try --filter-func=\". foo. \" instead. Running with Docker Docker images for pwru ar","default_branch":null,"files":null,"tree":[],"storefront":"/r/cilium","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/cilium/pwru/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}