0

我正在尝试在视频运行时从 youtube 计算丢包率。

我通过 Scapy 在eth0上一一嗅探数据包并过滤带有IP标头的TCP数据包。

要计算丢包率,我应该有一些收到的数据包和一些发送的数据包(或例外数据包)。

我可以轻松计算接收到的数据包数量,但是从 youtube 发送的数据包有问题。

4

3 回答 3

1

我建议你试试这个:

准备低、中、高流量的模拟流量。您将生成流量,您将提前知道将要发送的总数据包。

1) 首先使用 tcpdump 捕获所有流量。

2)其次使用scapy捕获所有流量(避免使用python将数据包保存到磁盘)。

您将看到以下内容:

  • scapy 的低流量25% 丢包率。
  • 中等流量67% 丢包率与 scapy。
  • 高流量89%!丢包与 scape。

数据来源:计算机安全 – ESORICS 2011:第 16 届欧洲研究计算机安全研讨会。

我尝试了自己,得到了相同的结果。在没有启用 libpcap 的情况下,scapy 数据包丢失率为 96%。

记住 tcpdump 几乎是可以比较的完美案例。

于 2017-11-08T05:59:40.817 回答
0

比这要复杂一些,您需要查看重传(在超时限制内未确认的数据包)。

您看不到对方在到达您之前丢失的数据包。您可以做的是查看 TCP 序列号,看看是否有任何间隙在您接收数据包时出现乱序。

这可能表示数据包丢失,但不能保证。您可能需要对两个数据包之间允许多少间隙的时间限制进行​​一些试验,然后才能将其计为重传,而不仅仅是出于其他原因无序到达。

我建议尽可能多地阅读 TCP 协议以了解详细信息:https ://en.wikipedia.org/wiki/Transmission_Control_Protocol

于 2017-08-30T10:43:05.367 回答
0

经过更多的谷歌搜索,我发现了一篇来自 Cisco 的文章,解释了如何根据带宽估算丢包率。

这是链接,对我有帮助,希望对您也有帮助。

带宽、每秒数据包数和其他网络性能指标

谢谢。

于 2017-11-20T09:00:13.630 回答