2 个版本
0.1.1 | 2021 年 3 月 6 日 |
---|---|
0.1.0 | 2021 年 3 月 5 日 |
#5 in #pf
19KB
429 行
pftable-rs
用于管理 OpenBSD 上 pf 表的小型 Rust 库。
注意:我没有对其进行测试,但它可能也适用于其他 BSD 和 macOS。
这主要是我的一次学习练习。我想从 rocket.rs 应用程序中管理我的 pf 表,而不仅仅是代理到 pfctl
。相反,这个库直接与 /dev/pf
通信,这是控制 pf 的内核设备(有关更多信息,请参阅 man 4 pf
)。
我目前不打算支持规则或锚点的操作。我手动编写了所有代码,创建所有内核期望的结构的工作包装器非常耗时。
目前,此库支持以下操作
- 在表中添加地址
- 从表中删除地址
- 获取表中的地址
- 清除表中的地址
- 设置表中的地址
请参阅 examples/my_table
以了解一些示例高级用法。src/lib.rs
包含一个用于与表交互的高级接口 PfTable
。如果你想要做的比提供的更多,PfTable
的源代码可能是有用的参考。src/bridge/mod.rs
包含了大部分的 ffi 代码。