9个版本

0.2.5 2022年1月26日
0.2.4 2020年4月29日
0.2.3 2020年2月4日
0.2.2 2019年9月21日
0.1.2 2019年9月2日

#5 in #iptables

Download history • Rust 包仓库 26/week @ 2024-03-13 • Rust 包仓库 33/week @ 2024-03-20 • Rust 包仓库 35/week @ 2024-03-27 • Rust 包仓库 26/week @ 2024-04-03 • Rust 包仓库 12/week @ 2024-04-10 • Rust 包仓库 113/week @ 2024-04-17 • Rust 包仓库 44/week @ 2024-04-24 • Rust 包仓库 34/week @ 2024-05-01 • Rust 包仓库 87/week @ 2024-05-08 • Rust 包仓库 30/week @ 2024-05-15 • Rust 包仓库 15/week @ 2024-05-22 • Rust 包仓库 41/week @ 2024-05-29 • Rust 包仓库 28/week @ 2024-06-05 • Rust 包仓库 28/week @ 2024-06-12 • Rust 包仓库 68/week @ 2024-06-19 • Rust 包仓库 57/week @ 2024-06-26 • Rust 包仓库

每月下载量185

MIT/Apache

64KB
1.5K SLoC

nfq - Rust的NetFilter队列

nfq 是一个Rust库,用于在用户空间处理内核数据包过滤器链中排队的包。

许可证

与使用GPL 2.0授权的 libnetfilter_queue 相比,这要求所有使用该库的二进制文件都必须遵守GPL,nfq 采用MIT/Apache-2.0双授权。 nfq 通过直接通过NETLINK套接字与内核通信来实现这一点。

示例

以下是一个接受所有数据包的示例。

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(())
}

lib.rs:

nfq - Rust的NetFilter队列

nfq 是一个Rust库,用于在用户空间处理内核数据包过滤器链中排队的包。

许可证

与使用GPL 2.0授权的 libnetfilter_queue 相比,这要求所有使用该库的二进制文件都必须遵守GPL,nfq 采用MIT/Apache-2.0双授权。 nfq 通过直接通过NETLINK套接字与内核通信来实现这一点。

示例

以下是一个接受所有数据包的示例。

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(())
}

依赖项