[−][src]Crate nfq
nfq - NetFilter queue for Rust
nfq
is Rust library for performing userspace handling of packets queued by the kernel packet
packet filter chains.
License
In contrast to libnetfilter_queue
which is licensed under GPL 2.0, which will require all
binaries using that library to be bound by GPL, nfq
is dual-licensed under MIT/Apache-2.0.
nfq
achieves this by communicates with kernel via NETLINK sockets directly.
Example
Here is an example which accepts all packets.
use nfq::{Queue, Verdict}; fn main() -> std::io::Result<()> { let mut queue = Queue::open()?; queue.bind(0)?; loop { let mut msg = queue.recv()?; msg.set_verdict(Verdict::Accept); queue.verdict(msg)?; } Ok(()) }
Structs
Message | A network packet with associated metadata. |
Queue | A NetFilter queue. |
Enums
Verdict | Decision made on a specific packet. |