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 解析器实现
每月下载量 53
150KB
4K SLoC
这是一个用于最小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