使用IP或TCP数据包长度来分析传输的数据量

时间:2017-01-03 03:51:44

标签: networking tcp-ip pcap tcpdump dpkt

我对网络流量很陌生。我试图在互联网流量中每秒传输数据的大小。我下载了一个pcap文件,我正在使用tcpdump来分析它。通过运行

 tcpdump -tttt -v -r sample.pcap

我得到一些如下记录:

21:00:00.539514 IP (tos 0x0, ttl 118, id 0, offset 0, flags [none], proto ICMP (1), length 32)
111.195.18.190 > host-203-203-22-140.net: ICMP echo reply, id 11884, seq 4803, length 12

根据教程(http://packetpushers.net/masterclass-tcpdump-interpreting-output/),第一个长度(32)是整个IP包长度,第二个长度(12)是TCP包长度。

我想知道在两台主机之间传输了多少数据。我应该使用哪一个,IP长度,TCP长度还是别的什么?

1 个答案:

答案 0 :(得分:0)

应用程序数据(可能是视频,消息,图片等)与较低层的几个标头(TCP标头(第4层),IPv4标头(第3层),以太网标头(第2层)一起发送,等等。)。 TCP数据包是应用程序数据+ TCP标头,IPv4数据包是TCP数据包+ IPv4标头等等。

IP数据包长度是TCP数据包长度+ IP报头长度。这就是第一长度和第二长度不同的原因。

两个主机之间的网络设备可能会更改标头,因此无法考虑两者之间传输的数据量。 如果您想知道pcap文件中每个数据包的长度,请运行tcpdump -e -r sample.pcap并查看每行的第一个长度。