12个版本
0.4.0 | 2023年3月5日 |
---|---|
0.3.4 | 2022年12月9日 |
0.3.3 | 2022年8月19日 |
0.3.2 | 2022年5月11日 |
0.1.2 | 2022年3月24日 |
#1228 in 网络编程
用于 2 crates
61KB
1K SLoC
💢 warts
此crate实现了由CAIDA的warts(5)
工具生成的Scamper文件。
它依赖于优秀的deku crate来进行二进制格式的序列化和反序列化。
使用方法
您可以在examples/
中运行其中一个示例
cargo run --release --example dump data/trace_google_dns_v6_default.warts
cargo run --release --example read_traceroute data/trace_google_dns_v6_default.warts
cargo run --release --example write_traceroute > test.warts
要在自己的项目中使用,请在Cargo.toml
中添加以下依赖项
[dependencies]
warts = "0.4"
限制
以下功能目前尚未实现
- DoubleTree和PMTUD数据
-
tsprespec
数据 - 流式读取
性能
解析并打印来自abz-uk.team-probing.c009127.20210202.warts
(52MB)的traceroute所需的时间。
在2020年M1 MacBook Air上使用hyperfine进行测量。
库 | 时间(秒) |
---|---|
warts / read_traceroute |
0.797 |
Scamper / sc_warts2text |
1.125 |
pywarts / parse_from_stdin.py |
12.405 |
cmand/scamper / sc_warts2text.py |
21.207 |
对象类型
类型 | 结构 | 名称 | 已实现 |
---|---|---|---|
0x0001 |
scamper_list_t |
列表 | Y |
0x0002 |
scamper_cycle_t |
周期开始 | Y |
0x0003 |
scamper_cycle_t |
周期定义 | Y |
0x0004 |
scamper_cycle_t |
周期停止 | Y |
0x0005 |
scamper_addr_t |
地址(已弃用) | Y |
0x0006 |
scamper_trace_t |
路由跟踪 | Y |
0x0007 |
scamper_ping_t |
Ping | Y |
0x0008 |
scamper_tracelb_t |
MDA 跟踪路由 | Y |
0x0009 |
scamper_dealias_t |
别名解析 | N |
0x000a |
scamper_neighbourdisc_t |
邻居发现 | N |
0x000b |
scamper_tbit_t |
TCP行为推理工具 | N |
0x000c |
scamper_sting_t |
Sting | N |
0x000d |
scamper_sniff_t |
Sniff | N |
依赖关系
~4MB
~86K SLoC