我对网络流量很陌生。我试图在互联网流量中每秒传输数据的大小。我下载了一个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长度还是别的什么?
答案 0 :(得分:0)
应用程序数据(可能是视频,消息,图片等)与较低层的几个标头(TCP标头(第4层),IPv4标头(第3层),以太网标头(第2层)一起发送,等等。)。 TCP数据包是应用程序数据+ TCP标头,IPv4数据包是TCP数据包+ IPv4标头等等。
IP数据包长度是TCP数据包长度+ IP报头长度。这就是第一长度和第二长度不同的原因。
两个主机之间的网络设备可能会更改标头,因此无法考虑两者之间传输的数据量。
如果您想知道pcap文件中每个数据包的长度,请运行tcpdump -e -r sample.pcap
并查看每行的第一个长度。