2015-05-26 1 views
0

Привет всем Я пытаюсь найти способ проверить, сколько пакетов tcp и udp у меня есть, когда я обнюхаю файл .pcap с помощью scapy. Я был бы рад, если бы вы могли объяснить мне, как это сделать.Найти количество пакетов udp и tcp в файле .pcap с scapy

from scapy.all import * 
import time 

def main(): 

path = raw_input("Enter path: ") # .pcap file 
packs = rdpcap(path) 
option = 0 
while (option != 4): 

    print "Options: soon " 
    option = input("Enter your option: ") 
    i = 0 
    count = 0 
    if(option == 1): 
     print "Number of packets: " 
     pack_len = len(packs) 
     print pack_len 
     print "Sniff tome: " 
     print time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(packs[0].time)) 
     print time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(packs[pack_len-1].time)) 

    elif(option == 2): 
     pass # HERE I NEED TO CHECK HOW MANY TCP AND UDP PACKETS I HAVE 

    elif(option == 3): 
     path = raw_input("Enter new path: ") 
     packs = rdpcap(path) 

if __name__ == "__main__": 
    main() 

ответ

0

Вы можете использовать «в» команды, например (извините о грязном коде, это поздно здесь):

for i in range(0, len(packs)) 
      pkt = packs[1] 
      if (TCP in pkt): 
        countTCP+= 1 
      elif (UDP in pkt): 
        countUDP+= 1 

надежда я понял ваш вопрос правильно ... дайте нам знать, если это сработало. Удачи!

+0

Спасибо Его работа, но в следующий раз используйте [i] вместо (i) и + = для счетчиков. –

+0

Обновлено. Не могли бы вы поддержать мой ответ? – FitzChivalry

Смежные вопросы