python / dpkt: Finden Sie heraus, wenn Paket ist ein tcp-Paket oder ein udp-Paket ,

Habe ich ein python-Skripts, fängt die Pakete auf das ethernet mittels dpkt, aber wie kann ich unterscheiden welche Pakete sind tcp und welche udp.

Schließlich würde ich mag, um eine Liste der Pakete, die für jede tcp-Verbindung eingerichtet wurde, die während des Zeit-Intervalls.

mein code ist:

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()
  • Ich fand die Antwort, also kann ich auch hier posten für andere. Der folgende code macht den job: ip=eth.Daten if (ip.__dict).has_key('tcp'): #, dann ist dies ein tcp-Paket...
Schreibe einen Kommentar