Existe-t-il un support pour mot de contrôle PW ethernet en scapy? J'ai besoin de créer un paquet qui contient ce mot de contrôle. Je vous remercie!Support de mot de contrôle Pseudowire ethernet en scapy
0
A
Répondre
1
J'ai fait quelques recherches sur le manuel de scapy sur la façon de construire de nouvelles couches et j'ai écrit ce code. J'ai pris un exemple du code mpls en scapy. Je l'ai testé et il semble ajouter le mot de contrôle PW Ethernet dans le paquet.
from scapy.packet import Packet, bind_layers, Padding
from scapy.fields import IntField
from scapy.layers.inet import IP
from scapy.layers.inet6 import IPv6
class PseudowireControlWord(Packet):
name = "PseudowireControlWord"
fields_desc = [IntField("SeqNumber", 0)]
def guess_payload_class(self, payload):
if len(payload) >= 1:
ip_version = (ord(payload[0]) >> 4) & 0xF
if ip_version == 4:
return IP
elif ip_version == 6:
return IPv6
return Padding
J'ajouté également une modification dans le code mpls.py dans scapy dans la fonction guess_payload_class
. Je pense que le code suivant doit être ajouté:
elif ip_version == 0:
return PseudowireControlWord