pwru 是一个基于 eBPF 的工具,用于追踪 Linux 内核中的网络数据包,具有高级过滤能力。pwru 支持对内核状态进行细粒度的内省 (introspection ),方便调试网络连接问题。
下面的例子展示了在安装 IP 表规则后,curl 请求的数据包被丢弃:
用法
Usage of ./pwru:
--filter-dst-ip string filter destination IP addr
--filter-dst-port uint16 filter destination port
--filter-func string filter the kernel functions that can be probed; the filter can be a regular expression (RE2)
--filter-mark uint32 filter skb mark
--filter-proto string filter L4 protocol (tcp, udp, icmp)
--filter-src-ip string filter source IP addr
--filter-src-port uint16 filter source port
--output-meta print skb metadata
--output-relative-timestamp print relative timestamp per skb
--output-skb print skb
--output-stack print stack
--output-tuple print L4 tuple