1个不稳定版本

0.1.0 2023年8月3日

#6#dissector


用于 wsdf

MIT/Apache

145KB
3K SLoC

wsdf 是一个基于过程宏的框架,用于从您的Rust数据类型生成Wireshark解析器。使用wsdf,您可以在Rust内部以声明式的方式编写解析器。

以下是一个UDP解析器的示例

#[derive(wsdf::Protocol)]
#[wsdf(decode_from = [("ip.proto", 17)])]
struct UDP {
    src_port: u16,
    dst_port: u16,
    length: u16,
    checksum: u16,
    #[wsdf(subdissector = ("udp.port", "dst_port", "src_port"))]
    payload: Vec<u8>,
}

有关更多信息,请参阅文档。还有一些示例,包括一个简单的DNS解析器,如下所示。

DNS dissector showcase

wsdf已在Linux上与Wireshark 4.0进行了测试。

许可

根据您的选择,此软件受Apache许可证版本2.0MIT许可证许可。
除非您明确声明,否则任何有意提交以包含在此软件包中的贡献,根据Apache-2.0许可证定义,均应双许可,上述内容,不附加任何额外条款或条件。

依赖项

~2.4–4MB
~71K SLoC