Ich möchte eine PTPv2-Ebene zu scapy (v2.3.3) in Python (v2.7) hinzufügen. Ich habe die ptpv2-Klasse mit den PTP-Einträgen zur Datei /scapy/layers/inet.py hinzugefügt (weil PTP auf Schicht 4 ist). Ich habe auch die ptpv2-Schicht an die obere Schicht gebunden, in meinem Fall an Ethernet.PTPv2-Layer zu scapy hinzufügen
bind_layers(Ethernet,ptpv2)
Durch die scapy Befehl eingeben "ls()" die erstellte PTPv2 Schicht, ok, Erfolg aufgeführt. Aber durch die Ebene durch die Python-Befehle Zugriff auf
for packet in PcapReader('/media/sf_SharedFolder/test.pcap'):
if packet[ptpv2].sequenceId == anything:
# do sth
der folgenden Fehler auftritt:
File "/usr/lib/python2.7/dist-packages/scapy/packet.py", line 817, in __getitem__
raise IndexError("Layer [%s] not found" % lname)
IndexError: Layer [ptpv2] not found
Die Wireshark Datei, um die Schichten Rahmen hat -> Ethernet -> PTP, so meine Bindung Befehl hat das Recht sein .
Weiß nicht, wo der Fehler ist.
Pls, hilf mir!
Thx
Chris
Ich habe "conf.debug_dissector = True" hinzugefügt. Der nächste Fehler tritt auf: Datei "/usr/lib/python2.7/dist-packages/scapy/fields.py", Zeile 75, in getfield Rückgabe s [self.sz:], self.m2i (pkt, struct. entpacken (self.fmt, s [: self.sz]) [0]) struct.error: unpack benötigt ein Stringargument der Länge 2 – crappidy
Nein, sry, nur mehr Fehlerinformation über "conf.debug_dissector = True". Fehler ist weiterhin vorhanden. Ich habe meine Frage nicht zu einem anderen Thema bearbeitet, ich habe meine Frage zu weiteren Informationen bearbeitet. – crappidy
Ok, dann stelle ich eine neue Frage. – crappidy