4 releases (breaking)
0.5.0 | Mar 19, 2024 |
---|---|
0.4.0 | Feb 29, 2024 |
0.2.0 | Sep 19, 2023 |
0.1.0 | Sep 1, 2023 |
#5 in #wireshark
23 downloads per month
150KB
4K
SLoC
This is a parser and execution engine for minimal Wireshark®-like filters.
See here for supported syntax.
Usage example:
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);
Dependencies
~3–4.5MB
~81K SLoC