python / dpkt: выяснить, является ли пакет пакетом tcp или пакетом udp.

У меня есть скрипт python, который захватывает пакеты в сети Ethernet с помощью dpkt, но как мне различать, какие пакеты являются tcp, а какие - udp.

В конце концов, я хотел бы иметь список пакетов для каждого TCP-соединения, установленного в течение заданного интервала времени.

мой код:

import dpkt
import pcapy
cap=pcap.open_live('eth0',100000,1,0)
(header,payload)=cap.next()
while header:
    eth=dpkt.ethernet.Ethernet(str(payload))
    ip=eth.data
    tcp=ip.data 
    # i need to know whether it is a tcp or  a udp packet here!!!
    (header,payload)=cap.next()
9
задан ConfusedAboutCPP 13 January 2012 в 11:08
поделиться