1个不稳定版本
0.1.0 | 2023年8月3日 |
---|
#6 在 #dissector
用于 wsdf
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解析器,如下所示。
wsdf已在Linux上与Wireshark 4.0进行了测试。
许可
根据您的选择,此软件受Apache许可证版本2.0或MIT许可证许可。除非您明确声明,否则任何有意提交以包含在此软件包中的贡献,根据Apache-2.0许可证定义,均应双许可,上述内容,不附加任何额外条款或条件。
依赖项
~2.4–4MB
~71K SLoC