0
scapy에서 PW 이더넷 제어 단어에 대한 지원이 있습니까? 이 제어 단어가 들어있는 패킷을 만들어야합니다. 고맙습니다!scapy에서 Pseudowire 이더넷 제어 단어 지원
scapy에서 PW 이더넷 제어 단어에 대한 지원이 있습니까? 이 제어 단어가 들어있는 패킷을 만들어야합니다. 고맙습니다!scapy에서 Pseudowire 이더넷 제어 단어 지원
새로운 레이어를 작성하는 방법에 대한 scapy 매뉴얼에 대한 연구를했고이 코드를 작성했습니다. 내가 scapy에서 mpls 코드에서 몇 가지 예를했다. 나는 그것을 테스트했으며 패킷에 PW Ethernet Control Word를 추가하는 것으로 보인다.
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
또한 I는
guess_payload_class
함수 scapy에 mpls.py 코드 변형을 추가했다. 다음 코드를 추가해야한다고 생각합니다.
elif ip_version == 0:
return PseudowireControlWord