wsdf is a proc-macro based framework to generate Wireshark dissectors from your Rust data types. Using wsdf, you can write dissectors in a declarative way, all from within Rust.
Here is what a dissector for UDP looks like:
)]
Check out the docs for more information. Some examples are also available, including a simple dissector for DNS, showcased below.

wsdf has been tested on Linux against Wireshark 4.0.
License