2017-01-13 3 views
0

Как я могу найти коэффициент ошибок пакетов, эффективность канала и коллизии с использованием scapy и python в wifi-трафике. Я должен сделать это с помощью данных из файла pcap. это, как я открыл файл PCAP:Как я могу рассчитать PER, коллизии и эффективность канала с помощью scapy?

file=rdpcap("file1.cap") 

поблагодарить вас

ответ

1

о 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() 
Смежные вопросы