我正在尝试计算视频运行时来自 youtube 的数据包丢失率。
我通过 Scapy 在 eth0 上一一嗅探数据包,并过滤带有 IP 标头的 TCP 数据包。
为了计算丢包率,我应该有一些已接收的数据包和一些已发送的数据包(或例外的数据包)。
我可以轻松计算收到的数据包数量,但我在从 youtube 发送数据包时遇到问题。
我建议你尝试一下:
准备低、中、高流量的模拟流量。由于您将产生流量,因此您将提前知道将发送的总数据包。
首先使用tcpdump捕获所有流量。
其次使用 scapy 捕获所有流量(避免使用 python 将数据包保存到磁盘)。
您将看到以下内容:
我自己尝试了一下,得到了同样的结果。 如果没有启用 libpcap,scapy 数据包丢失率为 96%。
记住 tcpdump 几乎是完美的比较案例。