如何使用 tshark 或 tcpdump 计算传输的字节数

use*_*029 2 log-files tcpdump pcap tshark

我在 tshark 中使用这个命令:

tshark -r pcapfile "tcp and ip.src==192.168.1.1" -T text -V -x | grep 'Total Length'
Run Code Online (Sandbox Code Playgroud)

这本质上仅解析来自源 ip 的连接的 pcap,并查找每个数据包的总长度(以字节为单位)。我得到这样的输出:

Total Length: 125 
Total Length: 210 
Total Length: 40 
Total Length: 125
> etc, etc....
Run Code Online (Sandbox Code Playgroud)

我需要做的是从 Total Length 中获取数字并将它们相加,以便我可以了解在 pcap 的时间范围内从单个 IP 通过线路传递了多少数据。

有没有我可以在我用来执行此操作的命令的末尾添加的命令?或者有没有一种方法可以直接到标准输出,然后将其通过管道传输到可以解析和计算我所追求的程序?任何人都知道可以执行此操作的带有 tcpdump 的类似命令?

Xav*_*cas 5

您可以完全依靠tsharkIO 统计计算器使用统计选项来执行此操作:

tshark -r pcapfile -z io,stat,0,"SUM(frame.len)frame.len && ip.src == 192.168.1.1 && ip.proto == 6"
Run Code Online (Sandbox Code Playgroud)

这将显示一个板,其中SUM列是您要查找的数据。