4个版本
0.1.3 | 2023年8月22日 |
---|---|
0.1.2 | 2023年8月21日 |
0.1.1 | 2022年7月15日 |
0.1.0 | 2022年7月13日 |
在#gnuplot中排名第3
每月下载量25次
90KB
207 代码行
plotcap
简介
plotcap
是一个用于绘制PCAP文件中网络流量数据包和速率的小型命令行工具。
它以固定的时间间隔(默认为1秒,但可以通过 -i
参数进行调整)聚合三个测量值
- 数据包数量
- 线上字节
- 捕获的字节(如果snaplen小于数据包大小,则与线上大小不同)
plotcap
然后生成一个可执行的 gnuplot 脚本,该脚本嵌入上述测量的数据,并在两个Y轴(左侧为每秒的数据包数,右侧为每秒的字节数)上以相对时间作为X轴绘制它们。
由于输出文件可以相对较小,您可以轻松地将它从执行 plotcap
的系统复制出来(在受限环境中的一种实用技巧,特别是在具有静态链接的二进制文件的情况下 - 见下文部分)然后在笔记本电脑(或安装了 gnuplot
的任何GUI系统)上执行脚本进行可视化。
请注意,输出脚本以持久模式(-p
)运行 gnuplot
并使用 pause mouse close
允许与绘图交互。这有助于放大区域(尝试右键单击并拖动)。
构建
要安装 plotcap
的最新版本,请确保您已安装 Rust工具链,然后运行
cargo install plotcap
或者,要从源码构建(在 target/release/plotcap
中的二进制文件)
cargo build --release
要构建 plotcap
的静态链接版本,您需要Rust MUSL工具链,您可以使用以下命令安装
rustup target add x86_64-unknown-linux-musl
...
cargo build --target=x86_64-unknown-linux-musl --release
生成的静态二进制文件位于 target/x86_64-unknown-linux-musl/release/plotcap
。
用法
plotcap --help
plotcap 0.1.3
Simeon Miteff <[email protected]>
Plot packet and data rates over time given a PCAP file, with gnuplot.
USAGE:
plotcap [OPTIONS] --read <FILE> --output <FILE>
OPTIONS:
-h, --help Print help information
-i, --interval <INTERVAL> [default: "1 second"]
-o, --output <FILE>
-r, --read <FILE>
-V, --version Print version information
示例
smtp.pcap
是一个 ~2小时、~4.3GB 的文件,包含 800 万个数据包。为了减少绘图点的数量,我们将聚合时间增加到 60 秒,使用 -i 60s
plotcap -r smtp.pcap -i 60s -o smtp-60s.plg
生成的 smtp-60s.plg
包含 142 行(5.4KB)。运行脚本将生成
everything.pcap
是一个 ~37秒、~38GB 的文件,包含 3700 万个数据包。我们使用默认的聚合间隔运行 plotcap
plotcap -r everything.pcap -o everything.plg
输出文件包含 60 行(2.5KB)。运行它将生成
依赖项
~3.5–9.5MB
~88K SLoC