我试图从视频运行时的YouTube上计算丢包率。如何用scapy计算丢包率?
我嗅探包逐个通过Scapy的,上的eth0并用IP头过滤TCP分组。
为了计算分组丢失率,我应该有一个数字接收的分组和多个发送的数据包(或除外分组)。
我可以很容易地计算出接收到的数据包的数量,但是我从发送的数据包有问题。
我试图从视频运行时的YouTube上计算丢包率。如何用scapy计算丢包率?
我嗅探包逐个通过Scapy的,上的eth0并用IP头过滤TCP分组。
为了计算分组丢失率,我应该有一个数字接收的分组和多个发送的数据包(或除外分组)。
我可以很容易地计算出接收到的数据包的数量,但是我从发送的数据包有问题。
经过更多google搜索,我找到了一篇来自思科的文章,解释了如何基于带宽来近似丢包率。
这是链接,帮助我,我希望能帮助你。
Bandwidth, Packets Per Second, and Other Network Performance Metrics
谢谢。
它比这更复杂一点,你需要看看重传(数据包在超时限制内未被确认)。
在到达您之前,您看不到从另一端丢失的数据包。你可以做的是查看TCP序列号,看看是否有任何差错,你收到数据包的顺序。
这可能是数据包丢失的指示,但不能保证。您可能需要对两个数据包之间的间隔有多少时间限制进行试验,然后才能将其计为重发,而不仅仅是出于其他原因无序到达。
我建议你阅读尽可能多地了解TCP协议,了解详情:https://en.wikipedia.org/wiki/Transmission_Control_Protocol
,我建议你试试这个:
准备以低,中,高流量交通仿真。您将生成流量,您将提前知道将发送的总数据包。
1)先用tcpdump捕获所有流量。
2)秒利用scapy捕获所有流量(避免用python将数据包保存到磁盘)。
您将看到以下内容:
数据来源:计算机安全 - ESORICS 2011:第16届欧洲研究计算机安全研讨会。
我试了我自己,我得到了同样的结果。 没有启用libpcap scapy数据包丢失率为96%。
记住tcpdump几乎是比较完美的案例。
嗨, 谢谢你的准确答案,但我尝试另一种方式。 因为我没有访问它们从源发送的数据包,所以我应该接近丢包率。 然后,经过更多的谷歌搜索,我找到了一篇来自思科的文章,帮助了我。 这是这篇文章的链接: [link](https://www.cisco.com/c/en/us/about/security-center/network-performance-metrics.html) – nima
谢谢你回答我的问题。 @SpacemanSpiff – nima
但是对于这个项目,我需要可靠的数据。 – nima