#filter #wireshark #tshark

min_shark

一个用于解析和匹配Wireshark过滤显示语言子集的crate。

4个版本 (破坏性更新)

0.5.0 2024年3月19日
0.4.0 2024年2月29日
0.2.0 2023年9月19日
0.1.0 2023年9月1日

#915 in 解析器实现

Download history 7/week @ 2024-04-13 2/week @ 2024-04-20 11/week @ 2024-05-18 1/week @ 2024-05-25 7/week @ 2024-06-01 2/week @ 2024-06-08 7/week @ 2024-06-15 4/week @ 2024-06-22 8/week @ 2024-06-29 32/week @ 2024-07-06 20/week @ 2024-07-27

每月下载量 53

MIT/Apache

150KB
4K SLoC

GitHub Workflow Status (with event) docs.rs Crates.io Codecov Crates.io

这是一个用于最小Wireshark®过滤器的解析器和执行引擎。

支持的语法请见此处

使用示例


    let filter = "ip.addr in {192.168.1.0/24, 10.1.1.0/24} and payload ~ '(?i)CaSeInSeNsItIvE'";
    let expression = min_shark::parse(filter);

    // .. later
    let is_match = expression
        .matcher()
        .tcp(true)
        .src_ip("1.1.1.1/24".parse().unwrap())
        .payload(b"CaseInsensitive")
        .is_match();

    assert_eq!(is_match, true);

依赖项

~3–4.5MB
~82K SLoC