如何使用 scapy 计算 PER、碰撞和通道效率?

How can I calculate PER, collisions and channel efficiency using scapy?

如何使用 scapy 和 python 在 wifi 流量中找到数据包错误率、信道效率和冲突。 我必须通过 pcap 文件中的数据来做到这一点。 这就是我打开 pcap 文件的方式:

 file=rdpcap("file1.cap")

谢谢

关于 PER,

软件包中有一些内容可以解决这个问题。 您可以使用以下方式访问它:

FCfield & 0x8

这是一个示例代码(你需要import matplotlib.pyplot as plt):

def foo(self):
    number_of_pkts = len(self.pcap_file)
    retransmission_pkts = 0

for pkt in self.pcap_file:
    # cecking if the retransmission flag is on
    if (pkt[Dot11].FCfield & 0x8) != 0:
        retransmission_pkts += 1

ans = (retransmission_pkts / number_of_pkts)*100
ans = float("%.2f" % ans)
labels = ['Standard packets', 'Retransmitted packets']
sizes = [100.0 - ans,ans]


colors = ['g', 'r']

# Make a pie graph
plt.clf()
plt.figure(num=1, figsize=(8, 6))
plt.axes(aspect=1)
plt.suptitle('Retransmitted packet', fontsize=14, fontweight='bold')
plt.rcParams.update({'font.size': 13})
plt.pie(sizes, labels=labels, autopct='%.2f%%', startangle=60, colors=colors, pctdistance=0.7, labeldistance=1.2)

plt.show()