From 7b3e970663abd72697e17b70aba9943ae0dad404 Mon Sep 17 00:00:00 2001
From: Phil <phil@secdev.org>
Date: Sun, 30 Dec 2012 11:22:27 +0100
Subject: [PATCH] Use conf.raw_layer to reference special layer "Raw" in place
where it was not the case yet
---
scapy/asn1fields.py | 14 +++++++-------
scapy/contrib/cdp.py | 4 ++--
scapy/contrib/dtp.py | 2 +-
scapy/contrib/eigrp.py | 2 +-
scapy/contrib/ikev2.py | 8 ++++----
scapy/contrib/ldp.py | 2 +-
scapy/contrib/ospf.py | 6 +++---
scapy/contrib/ppi.py | 4 ++--
scapy/layers/bluetooth.py | 2 +-
scapy/layers/dhcp6.py | 14 +++++++-------
scapy/layers/inet.py | 10 +++++-----
scapy/layers/inet6.py | 16 ++++++++--------
scapy/layers/isakmp.py | 8 ++++----
scapy/layers/l2.py | 4 ++--
scapy/layers/llmnr.py | 2 +-
scapy/layers/sctp.py | 8 ++++----
scapy/layers/tftp.py | 4 ++--
scapy/modules/nmap.py | 2 +-
scapy/modules/p0f.py | 2 +-
scapy/modules/voip.py | 5 ++---
20 files changed, 59 insertions(+), 60 deletions(-)
diff --git a/scapy/asn1fields.py b/scapy/asn1fields.py
index ffdb8d3b..1a59bd50 100644
--- a/scapy/asn1fields.py
+++ b/scapy/asn1fields.py
@@ -264,12 +264,12 @@ class ASN1F_SEQUENCE_OF(ASN1F_SEQUENCE):
try:
p = self.asn1pkt(s1)
except ASN1F_badsequence,e:
- lst.append(packet.Raw(s1))
+ lst.append(conf.raw_layer(s1))
break
lst.append(p)
- if packet.Raw in p:
- s1 = p[packet.Raw].load
- del(p[packet.Raw].underlayer.payload)
+ if conf.raw_layer in p:
+ s1 = p[conf.raw_layer].load
+ del(p[conf.raw_layer].underlayer.payload)
else:
break
self.set_val(pkt, lst)
@@ -292,7 +292,7 @@ class ASN1F_PACKET(ASN1F_field):
try:
c = cls(x)
except ASN1F_badsequence:
- c = packet.Raw(x)
+ c = conf.raw_layer(x)
cpad = c.getlayer(conf.padding_layer)
x = ""
if cpad is not None:
@@ -314,10 +314,10 @@ class ASN1F_CHOICE(ASN1F_PACKET):
self.default=default
def m2i(self, pkt, x):
if len(x) == 0:
- return packet.Raw(),""
+ return conf.raw_layer(),""
raise ASN1_Error("ASN1F_CHOICE: got empty string")
if ord(x[0]) not in self.choice:
- return packet.Raw(x),"" # XXX return RawASN1 packet ? Raise error
+ return conf.raw_layer(x),"" # XXX return RawASN1 packet ? Raise error
raise ASN1_Error("Decoding Error: choice [%i] not found in %r" % (ord(x[0]), self.choice.keys()))
z = ASN1F_PACKET.extract_packet(self, self.choice[ord(x[0])], x)
diff --git a/scapy/contrib/cdp.py b/scapy/contrib/cdp.py
index b54be624..12794c7b 100644
--- a/scapy/contrib/cdp.py
+++ b/scapy/contrib/cdp.py
@@ -87,7 +87,7 @@ _cdp_tlv_types = { 0x0001: "Device ID",
0x001a: "Power Available"}
def _CDPGuessPayloadClass(p, **kargs):
- cls = Raw
+ cls = conf.raw_layer
if len(p) >= 2:
t = struct.unpack("!H", p[:2])[0]
clsname = _cdp_tlv_cls.get(t, "CDPMsgGeneric")
@@ -141,7 +141,7 @@ class CDPAddrRecordIPv6(CDPAddrRecord):
IP6Field("addr", "::1")]
def _CDPGuessAddrRecord(p, **kargs):
- cls = Raw
+ cls = conf.raw_layer
if len(p) >= 2:
plen = struct.unpack("B", p[1])[0]
proto = ''.join(struct.unpack("s" * plen, p[2:plen + 2])[0:plen])
diff --git a/scapy/contrib/dtp.py b/scapy/contrib/dtp.py
index 37c052de..88d8904b 100644
--- a/scapy/contrib/dtp.py
+++ b/scapy/contrib/dtp.py
@@ -89,7 +89,7 @@ class DTPNeighbor(DtpGenericTlv):
]
def _DTPGuessPayloadClass(p, **kargs):
- cls = Raw
+ cls = conf.raw_layer
if len(p) >= 2:
t = struct.unpack("!H", p[:2])[0]
clsname = _DTP_TLV_CLS.get(t, "DtpGenericTlv")
diff --git a/scapy/contrib/eigrp.py b/scapy/contrib/eigrp.py
index 93b44815..73b4ce02 100644
--- a/scapy/contrib/eigrp.py
+++ b/scapy/contrib/eigrp.py
@@ -430,7 +430,7 @@ class RepeatedTlvListField(PacketListField):
return s + reduce(str.__add__, map(str, val), "")
def _EIGRPGuessPayloadClass(p, **kargs):
- cls = Raw
+ cls = conf.raw_layer
if len(p) >= 2:
t = struct.unpack("!H", p[:2])[0]
clsname = _eigrp_tlv_cls.get(t, "EIGRPGeneric")
diff --git a/scapy/contrib/ikev2.py b/scapy/contrib/ikev2.py
index 80f63c3c..fd38b80c 100644
--- a/scapy/contrib/ikev2.py
+++ b/scapy/contrib/ikev2.py
@@ -126,7 +126,7 @@ class IKEv2_class(Packet):
np = self.next_payload
logging.debug("For IKEv2_class np=%d" % np)
if np == 0:
- return Raw
+ return conf.raw_layer
elif np < len(IKEv2_payload_type):
pt = IKEv2_payload_type[np]
logging.debug(globals().get("IKEv2_payload_%s" % pt, IKEv2_payload))
@@ -150,7 +150,7 @@ class IKEv2(IKEv2_class): # rfc4306
def guess_payload_class(self, payload):
if self.flags & 1:
- return Raw
+ return conf.raw_layer
return IKEv2_class.guess_payload_class(self, payload)
def answers(self, other):
@@ -219,7 +219,7 @@ class IKEv2_payload_Proposal(IKEv2_class):
FieldLenField("SPIsize",None,"SPI","B"),
ByteField("trans_nb",None),
StrLenField("SPI","",length_from=lambda x:x.SPIsize),
- PacketLenField("trans",Raw(),IKEv2_payload_Transform,length_from=lambda x:x.length-8),
+ PacketLenField("trans",conf.raw_layer(),IKEv2_payload_Transform,length_from=lambda x:x.length-8),
]
@@ -260,7 +260,7 @@ class IKEv2_payload_SA(IKEv2_class):
ByteEnumField("next_payload",None,IKEv2_payload_type),
ByteField("res",0),
FieldLenField("length",None,"prop","H", adjust=lambda pkt,x:x+4),
- PacketLenField("prop",Raw(),IKEv2_payload_Proposal,length_from=lambda x:x.length-4),
+ PacketLenField("prop",conf.raw_layer(),IKEv2_payload_Proposal,length_from=lambda x:x.length-4),
]
class IKEv2_payload_Nonce(IKEv2_class):
diff --git a/scapy/contrib/ldp.py b/scapy/contrib/ldp.py
index 6b712a73..bc2464ab 100644
--- a/scapy/contrib/ldp.py
+++ b/scapy/contrib/ldp.py
@@ -50,7 +50,7 @@ def guess_payload(p):
if type in LDPTypes:
return LDPTypes[type]
else:
- return Raw
+ return conf.raw_layer
## Fields ##
diff --git a/scapy/contrib/ospf.py b/scapy/contrib/ospf.py
index 09b36844..a6422bd8 100644
--- a/scapy/contrib/ospf.py
+++ b/scapy/contrib/ospf.py
@@ -163,7 +163,7 @@ _OSPF_LLSclasses = {1: "LLS_Extended_Options",
def _LLSGuessPayloadClass(p, **kargs):
""" Guess the correct LLS class for a given payload """
- cls = Raw
+ cls = conf.raw_layer
if len(p) >= 4:
typ = struct.unpack("!H", p[0:2])[0]
clsname = _OSPF_LLSclasses.get(typ, "LLS_Generic_TLV")
@@ -283,7 +283,7 @@ def _LSAGuessPayloadClass(p, **kargs):
""" Guess the correct LSA class for a given payload """
# This is heavily based on scapy-cdp.py by Nicolas Bareil and Arnaud Ebalard
# XXX: This only works if all payload
- cls = Raw
+ cls = conf.raw_layer
if len(p) >= 4:
typ = struct.unpack("!B", p[3])[0]
clsname = _OSPF_LSclasses.get(typ, "Raw")
@@ -601,7 +601,7 @@ class OSPFv3_LSA_Hdr(Packet):
def _OSPFv3_LSAGuessPayloadClass(p, **kargs):
""" Guess the correct OSPFv3 LSA class for a given payload """
- cls = Raw
+ cls = conf.raw_layer
if len(p) >= 6:
typ = struct.unpack("!H", p[2:4])[0]
diff --git a/scapy/contrib/ppi.py b/scapy/contrib/ppi.py
index aea54c61..07fa6f13 100644
--- a/scapy/contrib/ppi.py
+++ b/scapy/contrib/ppi.py
@@ -51,14 +51,14 @@ def _PPIGuessPayloadClass(p, **kargs):
pfh_len += 4
out = cls(p[:pfh_len], **kargs)
if (out.payload):
- out.payload = Raw(out.payload.load)
+ out.payload = conf.raw_layer(out.payload.load)
if (len(p) > pfh_len):
out.payload.payload = conf.padding_layer(p[pfh_len:])
elif (len(p) > pfh_len):
out.payload = conf.padding_layer(p[pfh_len:])
else:
- out = Raw(p, **kargs)
+ out = conf.raw_layer(p, **kargs)
return out
diff --git a/scapy/layers/bluetooth.py b/scapy/layers/bluetooth.py
index 40828f4b..662bad3b 100644
--- a/scapy/layers/bluetooth.py
+++ b/scapy/layers/bluetooth.py
@@ -146,7 +146,7 @@ class L2CAP_InfoResp(Packet):
bind_layers( HCI_Hdr, HCI_ACL_Hdr, type=2)
-bind_layers( HCI_Hdr, Raw, )
+bind_layers( HCI_Hdr, conf.raw_layer, )
bind_layers( HCI_ACL_Hdr, L2CAP_Hdr, )
bind_layers( L2CAP_Hdr, L2CAP_CmdHdr, cid=1)
bind_layers( L2CAP_CmdHdr, L2CAP_CmdRej, code=1)
diff --git a/scapy/layers/dhcp6.py b/scapy/layers/dhcp6.py
index 15a5b6e2..71049506 100644
--- a/scapy/layers/dhcp6.py
+++ b/scapy/layers/dhcp6.py
@@ -242,7 +242,7 @@ duid_cls = { 1: "DUID_LLT",
class _DHCP6OptGuessPayload(Packet):
def guess_payload_class(self, payload):
- cls = Raw
+ cls = conf.raw_layer
if len(payload) > 2 :
opt = struct.unpack("!H", payload[:2])[0]
cls = get_cls(dhcp6opts_by_code.get(opt, "DHCP6OptUnknown"), DHCP6OptUnknown)
@@ -265,10 +265,10 @@ class _DUIDField(PacketField):
return str(i)
def m2i(self, pkt, x):
- cls = Raw
+ cls = conf.raw_layer
if len(x) > 4:
o = struct.unpack("!H", x[:2])[0]
- cls = get_cls(duid_cls.get(o, Raw), "Raw")
+ cls = get_cls(duid_cls.get(o, conf.raw_layer), conf.raw_layer)
return cls(x)
def getfield(self, pkt, s):
@@ -898,8 +898,8 @@ class _DHCP6GuessPayload(Packet):
def guess_payload_class(self, payload):
if len(payload) > 1 :
print ord(payload[0])
- return get_cls(dhcp6opts.get(ord(payload[0]),"DHCP6OptUnknown"), Raw)
- return Raw
+ return get_cls(dhcp6opts.get(ord(payload[0]),"DHCP6OptUnknown"), conf.raw_layer)
+ return conf.raw_layer
#####################################################################
## DHCPv6 messages sent between Clients and Servers (types 1 to 11)
@@ -1189,9 +1189,9 @@ dhcp6_cls_by_type = { 1: "DHCP6_Solicit",
13: "DHCP6_RelayReply" }
def _dhcp6_dispatcher(x, *args, **kargs):
- cls = Raw
+ cls = conf.raw_layer
if len(x) >= 2:
- cls = get_cls(dhcp6_cls_by_type.get(ord(x[0]), "Raw"), Raw)
+ cls = get_cls(dhcp6_cls_by_type.get(ord(x[0]), "Raw"), conf.raw_layer)
return cls(x, *args, **kargs)
bind_bottom_up(UDP, _dhcp6_dispatcher, { "dport": 547 } )
diff --git a/scapy/layers/inet.py b/scapy/layers/inet.py
index be7f39b2..c4edc007 100644
--- a/scapy/layers/inet.py
+++ b/scapy/layers/inet.py
@@ -417,7 +417,7 @@ class IP(Packet, IPTools):
else:
q[IP].flags |= 1
q[IP].frag = i*fragsize/8
- r = Raw(load=s[i*fragsize:(i+1)*fragsize])
+ r = conf.raw_layer(load=s[i*fragsize:(i+1)*fragsize])
r.overload_fields = p[IP].payload.overload_fields.copy()
q.add_payload(r)
lst.append(q)
@@ -750,7 +750,7 @@ def fragment(pkt, fragsize=1480):
else:
q[IP].flags |= 1
q[IP].frag = i*fragsize/8
- r = Raw(load=s[i*fragsize:(i+1)*fragsize])
+ r = conf.raw_layer(load=s[i*fragsize:(i+1)*fragsize])
r.overload_fields = p[IP].payload.overload_fields.copy()
q.add_payload(r)
lst.append(q)
@@ -800,7 +800,7 @@ def defrag(plist):
clen = len(ip.payload)
else:
clen = ip.len - (ip.ihl<<2)
- txt = Raw()
+ txt = conf.raw_layer()
for q in lst[1:]:
if clen != q.frag<<3: # Wrong fragmentation offset
if clen > q.frag<<3:
@@ -861,7 +861,7 @@ def defragment(plist):
clen = len(ip.payload)
else:
clen = ip.len - (ip.ihl<<2)
- txt = Raw()
+ txt = conf.raw_layer()
for q in lst[1:]:
if clen != q.frag<<3: # Wrong fragmentation offset
if clen > q.frag<<3:
@@ -1512,7 +1512,7 @@ def fragleak(target,sport=123, dport=123, timeout=0.2, onlyasc=0):
# print repr(ans.payload.payload.payload.payload)
-# if not isinstance(ans.payload.payload.payload.payload, Raw):
+# if not isinstance(ans.payload.payload.payload.payload, conf.raw_layer):
# continue
# leak = ans.payload.payload.payload.payload.load[len(load):]
leak = ans.getlayer(conf.padding_layer).load
diff --git a/scapy/layers/inet6.py b/scapy/layers/inet6.py
index b4ceb41a..a26c696a 100644
--- a/scapy/layers/inet6.py
+++ b/scapy/layers/inet6.py
@@ -777,7 +777,7 @@ class _HopByHopOptionsField(PacketListField):
except:
op = self.cls(x)
opt.append(op)
- if isinstance(op.payload, Raw):
+ if isinstance(op.payload, conf.raw_layer):
x = op.payload.load
del(op.payload)
else:
@@ -939,7 +939,7 @@ def defragment6(pktlist):
nh = q[IPv6ExtHdrFragment].nh
q[IPv6ExtHdrFragment].underlayer.nh = nh
q[IPv6ExtHdrFragment].underlayer.payload = None
- q /= Raw(load=fragmentable)
+ q /= conf.raw_layer(load=fragmentable)
return IPv6(str(q))
@@ -1014,14 +1014,14 @@ def fragment6(pkt, fragSize):
fragOffset += (innerFragSize / 8) # compute new one
if IPv6 in unfragPart:
unfragPart[IPv6].plen = None
- tempo = unfragPart/fragHeader/Raw(load=tmp)
+ tempo = unfragPart/fragHeader/conf.raw_layer(load=tmp)
res.append(tempo)
else:
fragHeader.offset = fragOffset # update offSet
fragHeader.m = 0
if IPv6 in unfragPart:
unfragPart[IPv6].plen = None
- tempo = unfragPart/fragHeader/Raw(load=remain)
+ tempo = unfragPart/fragHeader/conf.raw_layer(load=remain)
res.append(tempo)
break
return res
@@ -1471,7 +1471,7 @@ class TruncPktLenField(PacketLenField):
try: # It can happen we have sth shorter than 40 bytes
s = self.cls(m)
except:
- return Raw(m)
+ return conf.raw_layer(m)
return s
def i2m(self, pkt, x):
@@ -2195,7 +2195,7 @@ class ICMPv6NIReplyUnknown(ICMPv6NIReplyNOOP):
def _niquery_guesser(p):
- cls = Raw
+ cls = conf.raw_layer
type = ord(p[0])
if type == 139: # Node Info Query specific stuff
if len(p) > 6:
@@ -2203,7 +2203,7 @@ def _niquery_guesser(p):
cls = { 0: ICMPv6NIQueryNOOP,
2: ICMPv6NIQueryName,
3: ICMPv6NIQueryIPv6,
- 4: ICMPv6NIQueryIPv4 }.get(qtype, Raw)
+ 4: ICMPv6NIQueryIPv4 }.get(qtype, conf.raw_layer)
elif type == 140: # Node Info Reply specific stuff
code = ord(p[1])
if code == 0:
@@ -2587,7 +2587,7 @@ class _MobilityOptionsField(PacketListField):
except:
op = self.cls(x)
opt.append(op)
- if isinstance(op.payload, Raw):
+ if isinstance(op.payload, conf.raw_layer):
x = op.payload.load
del(op.payload)
else:
diff --git a/scapy/layers/isakmp.py b/scapy/layers/isakmp.py
index 8fab225c..9c54bed4 100644
--- a/scapy/layers/isakmp.py
+++ b/scapy/layers/isakmp.py
@@ -165,7 +165,7 @@ class ISAKMP_class(Packet):
def guess_payload_class(self, payload):
np = self.next_payload
if np == 0:
- return Raw
+ return conf.raw_layer
elif np < len(ISAKMP_payload_type):
pt = ISAKMP_payload_type[np]
return globals().get("ISAKMP_payload_%s" % pt, ISAKMP_payload)
@@ -188,7 +188,7 @@ class ISAKMP(ISAKMP_class): # rfc2408
def guess_payload_class(self, payload):
if self.flags & 1:
- return Raw
+ return conf.raw_layer
return ISAKMP_class.guess_payload_class(self, payload)
def answers(self, other):
@@ -246,7 +246,7 @@ class ISAKMP_payload_Proposal(ISAKMP_class):
FieldLenField("SPIsize",None,"SPI","B"),
ByteField("trans_nb",None),
StrLenField("SPI","",length_from=lambda x:x.SPIsize),
- PacketLenField("trans",Raw(),ISAKMP_payload_Transform,length_from=lambda x:x.length-8),
+ PacketLenField("trans",conf.raw_layer(),ISAKMP_payload_Transform,length_from=lambda x:x.length-8),
]
@@ -279,7 +279,7 @@ class ISAKMP_payload_SA(ISAKMP_class):
FieldLenField("length",None,"prop","H", adjust=lambda pkt,x:x+12),
IntEnumField("DOI",1,{1:"IPSEC"}),
IntEnumField("situation",1,{1:"identity"}),
- PacketLenField("prop",Raw(),ISAKMP_payload_Proposal,length_from=lambda x:x.length-12),
+ PacketLenField("prop",conf.raw_layer(),ISAKMP_payload_Proposal,length_from=lambda x:x.length-12),
]
class ISAKMP_payload_Nonce(ISAKMP_class):
diff --git a/scapy/layers/l2.py b/scapy/layers/l2.py
index b0743694..a14294c4 100644
--- a/scapy/layers/l2.py
+++ b/scapy/layers/l2.py
@@ -223,7 +223,7 @@ class Dot1Q(Packet):
def default_payload_class(self, pay):
if self.type <= 1500:
return LLC
- return Raw
+ return conf.raw_layer
def extract_padding(self,s):
if self.type <= 1500:
return s[:self.type],s[self.type:]
@@ -405,7 +405,7 @@ bind_layers( GRE, Ether, proto=1)
bind_layers( GRE, ARP, proto=2054)
bind_layers( GRE, EAPOL, proto=34958)
bind_layers( GRE, GRErouting, { "routing_present" : 1 } )
-bind_layers( GRErouting, Raw, { "address_family" : 0, "SRE_len" : 0 })
+bind_layers( GRErouting, conf.raw_layer,{ "address_family" : 0, "SRE_len" : 0 })
bind_layers( GRErouting, GRErouting, { } )
bind_layers( EAPOL, EAP, type=0)
bind_layers( LLC, STP, dsap=66, ssap=66, ctrl=3)
diff --git a/scapy/layers/llmnr.py b/scapy/layers/llmnr.py
index 50b9a917..65ecad41 100644
--- a/scapy/layers/llmnr.py
+++ b/scapy/layers/llmnr.py
@@ -49,7 +49,7 @@ class LLMNRResponse(LLMNRQuery):
other.qr == 0)
def _llmnr_dispatcher(x, *args, **kargs):
- cls = Raw
+ cls = conf.raw_layer
if len(x) >= 3:
if (ord(x[4]) & 0x80): # Response
cls = LLMNRResponse
diff --git a/scapy/layers/sctp.py b/scapy/layers/sctp.py
index fa28d6da..632becb1 100644
--- a/scapy/layers/sctp.py
+++ b/scapy/layers/sctp.py
@@ -181,7 +181,7 @@ class _SCTPChunkGuessPayload:
return conf.padding_layer
else:
t = ord(p[0])
- return globals().get(sctpchunktypescls.get(t, "Raw"), Raw)
+ return globals().get(sctpchunktypescls.get(t, "Raw"), conf.raw_layer)
class SCTP(_SCTPChunkGuessPayload, Packet):
@@ -210,12 +210,12 @@ class ChunkParamField(PacketListField):
islist = 1
holds_packets=1
def __init__(self, name, default, count_from=None, length_from=None):
- PacketListField.__init__(self, name, default, Raw, count_from=count_from, length_from=length_from)
+ PacketListField.__init__(self, name, default, conf.raw_layer, count_from=count_from, length_from=length_from)
def m2i(self, p, m):
- cls = Raw
+ cls = conf.raw_layer
if len(m) >= 4:
t = ord(m[0]) * 256 + ord(m[1])
- cls = globals().get(sctpchunkparamtypescls.get(t, "Raw"), Raw)
+ cls = globals().get(sctpchunkparamtypescls.get(t, "Raw"), conf.raw_layer)
return cls(m)
# dummy class to avoid Raw() after Chunk params
diff --git a/scapy/layers/tftp.py b/scapy/layers/tftp.py
index 16a782c2..1535e99c 100644
--- a/scapy/layers/tftp.py
+++ b/scapy/layers/tftp.py
@@ -183,8 +183,8 @@ class TFTP_read(Automaton):
# RECEIVED
@ATMT.state()
def RECEIVING(self, pkt):
- if Raw in pkt:
- recvd = pkt[Raw].load
+ if conf.raw_layer in pkt:
+ recvd = pkt[conf.raw_layer].load
else:
recvd = ""
self.res += recvd
diff --git a/scapy/modules/nmap.py b/scapy/modules/nmap.py
index fc53f427..ef064643 100644
--- a/scapy/modules/nmap.py
+++ b/scapy/modules/nmap.py
@@ -104,7 +104,7 @@ def nmap_udppacket_sig(S,T):
r["RIPCK"] = S.chksum == T.getlayer(IPerror).chksum and "E" or T.getlayer(IPerror).chksum == 0 and "0" or "F"
r["UCK"] = S.payload.chksum == T.getlayer(UDPerror).chksum and "E" or T.getlayer(UDPerror).chksum ==0 and "0" or "F"
r["ULEN"] = "%X" % T.getlayer(UDPerror).len
- r["DAT"] = T.getlayer(Raw) is None and "E" or S.getlayer(Raw).load == T.getlayer(Raw).load and "E" or "F"
+ r["DAT"] = T.getlayer(conf.raw_layer) is None and "E" or S.getlayer(conf.raw_layer).load == T.getlayer(conf.raw_layer).load and "E" or "F"
return r
diff --git a/scapy/modules/p0f.py b/scapy/modules/p0f.py
index 21bbd925..d051779d 100644
--- a/scapy/modules/p0f.py
+++ b/scapy/modules/p0f.py
@@ -474,7 +474,7 @@ Some specifications of the p0f.fp file are not (yet) implemented."""
else:
pkt.payload.flags |= RandChoice(8, 32, 40) #P / U / PU
elif qq == 'D' and db != p0fo_kdb:
- pkt /= Raw(load=RandString(random.randint(1, 10))) # XXX p0fo.fp
+ pkt /= conf.raw_layer(load=RandString(random.randint(1, 10))) # XXX p0fo.fp
elif qq == 'Q': pkt.payload.seq = pkt.payload.ack
#elif qq == '0': pkt.payload.seq = 0
#if db == p0fr_kdb:
diff --git a/scapy/modules/voip.py b/scapy/modules/voip.py
index d221ecf2..70000a54 100644
--- a/scapy/modules/voip.py
+++ b/scapy/modules/voip.py
@@ -14,7 +14,6 @@ import os
from fcntl import fcntl
from scapy.sendrecv import sniff
-from scapy.packet import Raw
from scapy.layers.inet import IP,UDP
from scapy.layers.rtp import RTP
from scapy.utils import get_temp_file
@@ -93,7 +92,7 @@ def voip_play1(s1,list=None,**kargs):
return
ip=pkt.getlayer(IP)
if s1 in [ip.src, ip.dst]:
- dsp.write(pkt.getlayer(Raw).load[12:])
+ dsp.write(pkt.getlayer(conf.raw_layer).load[12:])
try:
if list is None:
sniff(store=0, prn=play, **kargs)
@@ -134,7 +133,7 @@ def voip_play3(lst=None,**kargs):
dsp,rd = os.popen2("sox -t .ul - -t ossdsp /dev/dsp")
try:
def play(pkt, dsp=dsp):
- if pkt and pkt.haslayer(UDP) and pkt.haslayer(Raw):
+ if pkt and pkt.haslayer(UDP) and pkt.haslayer(conf.raw_layer):
dsp.write(pkt.getlayer(RTP).load)
if lst is None:
sniff(store=0, prn=play, **kargs)
--
GitLab