本文整理汇总了Python中scapy.packet.NoPayload方法的典型用法代码示例。如果您正苦于以下问题:Python packet.NoPayload方法的具体用法?Python packet.NoPayload怎么用?Python packet.NoPayload使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类scapy.packet
的用法示例。
在下文中一共展示了packet.NoPayload方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: pkt2uptime
# 需要导入模块: from scapy import packet [as 别名]
# 或者: from scapy.packet import NoPayload [as 别名]
def pkt2uptime(pkt, HZ=100):
"""Calculate the date the machine which emitted the packet booted using TCP timestamp
pkt2uptime(pkt, [HZ=100])"""
if not isinstance(pkt, Packet):
raise TypeError("Not a TCP packet")
if isinstance(pkt,NoPayload):
raise TypeError("Not a TCP packet")
if not isinstance(pkt, TCP):
return pkt2uptime(pkt.payload)
for opt in pkt.options:
if opt[0] == "Timestamp":
#t = pkt.time - opt[1][0] * 1.0/HZ
#return time.ctime(t)
t = opt[1][0] / HZ
return t
raise TypeError("No timestamp option")
示例2: pkt2uptime
# 需要导入模块: from scapy import packet [as 别名]
# 或者: from scapy.packet import NoPayload [as 别名]
def pkt2uptime(pkt, HZ=100):
"""Calculate the date the machine which emitted the packet booted using TCP timestamp # noqa: E501
pkt2uptime(pkt, [HZ=100])"""
if not isinstance(pkt, Packet):
raise TypeError("Not a TCP packet")
if isinstance(pkt, NoPayload):
raise TypeError("Not a TCP packet")
if not isinstance(pkt, TCP):
return pkt2uptime(pkt.payload)
for opt in pkt.options:
if opt[0] == "Timestamp":
# t = pkt.time - opt[1][0] * 1.0/HZ
# return time.ctime(t)
t = opt[1][0] / HZ
return t
raise TypeError("No timestamp option")
示例3: nmap_udppacket_sig
# 需要导入模块: from scapy import packet [as 别名]
# 或者: from scapy.packet import NoPayload [as 别名]
def nmap_udppacket_sig(snd, rcv):
res = {}
if rcv is None:
res["Resp"] = "N"
else:
res["DF"] = "Y" if rcv.flags.DF else "N"
res["TOS"] = "%X" % rcv.tos
res["IPLEN"] = "%X" % rcv.len
res["RIPTL"] = "%X" % rcv.payload.payload.len
res["RID"] = "E" if snd.id == rcv[IPerror].id else "F"
res["RIPCK"] = "E" if snd.chksum == rcv[IPerror].chksum else (
"0" if rcv[IPerror].chksum == 0 else "F"
)
res["UCK"] = "E" if snd.payload.chksum == rcv[UDPerror].chksum else (
"0" if rcv[UDPerror].chksum == 0 else "F"
)
res["ULEN"] = "%X" % rcv[UDPerror].len
res["DAT"] = "E" if (
isinstance(rcv[UDPerror].payload, NoPayload) or
raw(rcv[UDPerror].payload) == raw(snd[UDP].payload)
) else "F"
return res
示例4: recv
# 需要导入模块: from scapy import packet [as 别名]
# 或者: from scapy.packet import NoPayload [as 别名]
def recv(self, x=MTU):
pkt = self.ins.recv(x, socket.MSG_PEEK)
x = len(pkt)
if x == 0:
return None
pkt = self.basecls(pkt)
pad = pkt.getlayer(conf.padding_layer)
if pad is not None and pad.underlayer is not None:
del(pad.underlayer.payload)
from scapy.packet import NoPayload
while pad is not None and not isinstance(pad, NoPayload):
x -= len(pad.load)
pad = pad.payload
self.ins.recv(x)
return pkt
示例5: unwep
# 需要导入模块: from scapy import packet [as 别名]
# 或者: from scapy.packet import NoPayload [as 别名]
def unwep(self, key=None, warn=1):
if self.FCfield & 0x40 == 0:
if warn:
warning("No WEP to remove")
return
if isinstance(self.payload.payload, NoPayload):
if key or conf.wepkey:
self.payload.decrypt(key)
if isinstance(self.payload.payload, NoPayload):
if warn:
warning("Dot11 can't be decrypted. Check conf.wepkey.")
return
self.FCfield &= ~0x40
self.payload = self.payload.payload
示例6: answers
# 需要导入模块: from scapy import packet [as 别名]
# 或者: from scapy.packet import NoPayload [as 别名]
def answers(self, other):
if other.__class__ != self.__class__:
return False
if self.service == 0x7f:
return self.payload.answers(other)
if self.service == (other.service + 0x40):
if isinstance(self.payload, NoPayload) or \
isinstance(other.payload, NoPayload):
return True
else:
return self.payload.answers(other.payload)
return False
示例7: answers
# 需要导入模块: from scapy import packet [as 别名]
# 或者: from scapy.packet import NoPayload [as 别名]
def answers(self, other):
if other.__class__ != self.__class__:
return False
if self.service == 0x7f:
return self.payload.answers(other)
if self.service == (other.service + 0x40):
if isinstance(self.payload, NoPayload) or \
isinstance(other.payload, NoPayload):
return True
else:
return self.payload.answers(other.payload)
return False
# Service Bindings
示例8: answers
# 需要导入模块: from scapy import packet [as 别名]
# 或者: from scapy.packet import NoPayload [as 别名]
def answers(self, other):
if other.__class__ != self.__class__:
return False
if self.service == 0x7f:
return self.payload.answers(other)
if self.service == (other.service + 0x40):
if isinstance(self.payload, NoPayload) or \
isinstance(other.payload, NoPayload):
return len(self) <= len(other)
else:
return self.payload.answers(other.payload)
return False
示例9: guess_payload_class
# 需要导入模块: from scapy import packet [as 别名]
# 或者: from scapy.packet import NoPayload [as 别名]
def guess_payload_class(self, payload):
# type: (str) -> Packet_metaclass
""" guess_payload_class returns the Class object to use for parsing a payload
This function uses the H2Frame.type field value to decide which payload to parse. The implement cannot be # noqa: E501
performed using the simple bind_layers helper because sometimes the selection of which Class object to return # noqa: E501
also depends on the H2Frame.flags value.
:param payload:
:return::
"""
if len(payload) == 0:
return packet.NoPayload
t = self.getfieldval('type')
if t == H2DataFrame.type_id:
if H2DataFrame.flags[H2DataFrame.PADDED_FLAG].short in self.getfieldval('flags'): # noqa: E501
return H2PaddedDataFrame
return H2DataFrame
if t == H2HeadersFrame.type_id:
if H2HeadersFrame.flags[H2HeadersFrame.PADDED_FLAG].short in self.getfieldval('flags'): # noqa: E501
if H2HeadersFrame.flags[H2HeadersFrame.PRIORITY_FLAG].short in self.getfieldval('flags'): # noqa: E501
return H2PaddedPriorityHeadersFrame
else:
return H2PaddedHeadersFrame
elif H2HeadersFrame.flags[H2HeadersFrame.PRIORITY_FLAG].short in self.getfieldval('flags'): # noqa: E501
return H2PriorityHeadersFrame
return H2HeadersFrame
if t == H2PriorityFrame.type_id:
return H2PriorityFrame
if t == H2ResetFrame.type_id:
return H2ResetFrame
if t == H2SettingsFrame.type_id:
return H2SettingsFrame
if t == H2PushPromiseFrame.type_id:
if H2PushPromiseFrame.flags[H2PushPromiseFrame.PADDED_FLAG].short in self.getfieldval('flags'): # noqa: E501
return H2PaddedPushPromiseFrame
return H2PushPromiseFrame
if t == H2PingFrame.type_id:
return H2PingFrame
if t == H2GoAwayFrame.type_id:
return H2GoAwayFrame
if t == H2WindowUpdateFrame.type_id:
return H2WindowUpdateFrame
if t == H2ContinuationFrame.type_id:
return H2ContinuationFrame
return config.conf.padding_layer