Mam skrypty Pythona, które przechwytują pakiety w sieci Ethernet za pomocą dpkt, ale jak odróżnić, które pakiety są tcp i które są dla udp.python/dpkt: Sprawdź, czy pakiet jest pakietem tcp lub pakietem udp,
Ostatecznie chciałbym mieć listę pakietów dla każdego połączenia TCP ustanowionego w przedziale czasowym.
mojego kodu jest:
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()
Znalazłem odpowiedź, więc równie dobrze mogę opublikować ją tutaj dla innych. Poniższy kod spełnia swoje zadanie: ip = eth.data if (Ip .__ dict) .has_key ('tcp'): #then to pakiet tcp ... – ConfusedAboutCPP