Python: 尾部的分隔符或斜线符号表示什么?
Python: What does a trailing divide or slash symbol signify?
我是 python 的新手,正在尝试了解尾部斜杠在该语言中的含义。具体来说,我正在使用 Scapy 库,并试图破译 Scapy inject.py 源文件中的 get_rsn_information 方法:
def get_rsn_information(self, essid):
rsnInfo = None
sendp(
RadioTap()/
Dot11(addr1=self.bssid, addr2=self.source_mac, addr3=self.bssid, SC=self.__fixSC__(), subtype=4)/
Dot11ProbeReq()/
Dot11Elt(ID=0, info=essid)/
Dot11Elt(ID=1, info='\x82\x84\x0b\x16\x24\x30\x48\x6c')/
Dot11Elt(ID=50, info='\x0c\x12\x18\x60'),
iface=self.interface,
verbose=False
)
<...snip...>
当我看到这样一行时:
RadioTap()/
尾部斜线表示什么?
RadioTap
、Dot11
等都是scapy.packet.Packet
的实例。它的除法运算是overloaded堆叠数据包层数
即从语法上讲,这正是它的样子,一个除法运算符
#/usr/lib/python2.7/site-packages/scapy/packet.py
# source code like below:
class Packet(six.with_metaclass(Packet_metaclass, BasePacket,
_CanvasDumpExtended)):
...
def __div__(self, other):
if isinstance(other, Packet):
cloneA = self.copy()
cloneB = other.copy()
cloneA.add_payload(cloneB)
return cloneA
elif isinstance(other, (bytes, str)):
return self / conf.raw_layer(load=other)
else:
return other.__rdiv__(self)
...
sendp()
是一个具有三个 arguments/inputs
的函数
第一个输入是
RadioTap()/Dot11()/Dot11ProbeReq()/Dot11Elt()/Dot11Elt()/Dot11Elt()
这正是它所说的:
RadioTap() divided by Dot11() divided by....etc.
你可以假设,因为 sendp(
之后的左括号不会关闭并且在 ,iface
之前的逗号之前没有中断
另外两个输入是iface
和verbose
我是 python 的新手,正在尝试了解尾部斜杠在该语言中的含义。具体来说,我正在使用 Scapy 库,并试图破译 Scapy inject.py 源文件中的 get_rsn_information 方法:
def get_rsn_information(self, essid):
rsnInfo = None
sendp(
RadioTap()/
Dot11(addr1=self.bssid, addr2=self.source_mac, addr3=self.bssid, SC=self.__fixSC__(), subtype=4)/
Dot11ProbeReq()/
Dot11Elt(ID=0, info=essid)/
Dot11Elt(ID=1, info='\x82\x84\x0b\x16\x24\x30\x48\x6c')/
Dot11Elt(ID=50, info='\x0c\x12\x18\x60'),
iface=self.interface,
verbose=False
)
<...snip...>
当我看到这样一行时:
RadioTap()/
尾部斜线表示什么?
RadioTap
、Dot11
等都是scapy.packet.Packet
的实例。它的除法运算是overloaded堆叠数据包层数
即从语法上讲,这正是它的样子,一个除法运算符
#/usr/lib/python2.7/site-packages/scapy/packet.py
# source code like below:
class Packet(six.with_metaclass(Packet_metaclass, BasePacket,
_CanvasDumpExtended)):
...
def __div__(self, other):
if isinstance(other, Packet):
cloneA = self.copy()
cloneB = other.copy()
cloneA.add_payload(cloneB)
return cloneA
elif isinstance(other, (bytes, str)):
return self / conf.raw_layer(load=other)
else:
return other.__rdiv__(self)
...
sendp()
是一个具有三个 arguments/inputs
第一个输入是
RadioTap()/Dot11()/Dot11ProbeReq()/Dot11Elt()/Dot11Elt()/Dot11Elt()
这正是它所说的:
RadioTap() divided by Dot11() divided by....etc.
你可以假设,因为 sendp(
之后的左括号不会关闭并且在 ,iface
另外两个输入是iface
和verbose