- swananan2026-09-2445601
https://github.com/swananan/usbscope
非常窄的一个场景,正常 tcpdump 去抓 USB 流量需要 Linux 开启 USB_MON 相关配置(开起来有一点点小麻烦,对于线上环境更是如此)。
于是就想到了 eBPF ,顺手让 codex 整了一个,个人觉得完成度还算挺高的( AI 太吊了),当然也是重置卡用不完了😂。
里面可能有意思的技术点,就是用了 aya ,也就是用 Rust 来编写这个工具,包括 eBPF 代码。当然由于 Rust 编译器暂时还不支持 eBPF 的 CO-RE 特性,所以是把需要 CO-RE 的地方,都是用 C 包装了一下,然后 Rust 混合 c shims 来链接生成 eBPF 字节码的。
主楼 - dummyx2026-09-2445904
- swananan2026-09-2445601
@dummyx
aya 一直可以用 rust 写 eBPF ,你可能说的是 CO-RE 或者 KFuncs 之类的能力,Rust eBPF 不支持。因为需要 Rust 编译器支持。目前一直是这样的,所以只能混着 C 代码一起写。我个人感觉,混合着写,其实也挺好的。我最近打算给 aya-book 加个章节,专门说一下相关的情况。
另外,vadorovsky 一直在推进这块,我感觉半年内有可能会落地吧。
https://github.com/rust-lang/rfcs/pull/3966
