1个不稳定版本
0.1.0 | 2019年4月1日 |
---|
#712 在 压缩
33KB
689 行
riptables
riptables
为Linux中的iptables应用程序提供绑定。(修改自rust-iptables)
相对于rust-iptables,增加了调用输出的解析功能,并返回RIPTRule对象。
用法
[dependencies]
riptables = "0.1"
入门
use riptables::RIPTables;
use riptables::rule::Archive;
#[test]
fn test_list() {
let table = "nat";
let name = "TESTNAT";
let iptables = riptables::new(false).unwrap();
iptables.new_chain(table, name);
iptables.insert(table, name, "-j ACCEPT", 1);
let rules = iptables.list_chains(table, name).unwrap();
iptables.delete(table, name, "-j ACCEPT");
iptables.delete_chain(table, name);
assert_eq!(rules.len(), 2);
for rule in rules {
println!("{:?}", rule);
assert_eq!(rule.table, "nat".to_string());
assert_eq!(rule.chain, name.to_string());
match rule.archive {
Archive::NewChain => assert_eq!(rule.origin, "-N TESTNAT".to_string()),
Archive::Append => assert_eq!(rule.origin, "-A TESTNAT -j ACCEPT".to_string()),
_ => {}
}
}
}
更多信息,请参阅tests
文件夹中的测试文件。
依赖
~1.5MB
~37K SLoC