<p>我也有类似的问题:从一个似乎有<a href="https://byt3bl33d3r.github.io/mad-max-scapy-improving-scapys-packet-sending-performance.html" rel="nofollow noreferrer"> disected scapy's source code</a>的链接</p>
<blockquote>
<p>Every time you invoke send() or sendp() Scapy will automatically
create and close a socket for every packet you send! I can see
convenience in that, makes the API much simpler! But I'm willing to
bet that definitely takes a hit on performance!</p>
</blockquote>
<p>也是一个<a href="https://home.regit.org/2014/04/speeding-up-scapy-packets-sending/" rel="nofollow noreferrer">similar analysis here (link2)</a>。因此,您可以根据link2中的示例代码进行优化。在</p>
<pre><code> #The code sample is from
#https://home.regit.org/2014/04/speeding-up-scapy-packets-sending/
#also see https://byt3bl33d3r.github.io/mad-max-scapy-improving-scapys-packet-sending-performance.html for similar sample. This works.
def run(self):
# open filename
filedesc = open(self.filename, 'r')
s = conf.L2socket(iface=self.iface) #added
# loop on read line
for line in filedesc:
# Build and send packet
# sendp(pkt, iface = self.iface, verbose = verbose) This line goes out
s.send(pkt) #sendp() is replaced with send()
</code></pre>