gpt4 book ai didi

python - 使用 scapy 灵活生成流量

转载 作者:太空狗 更新时间:2023-10-30 02:22:57 39 4
gpt4 key购买 nike

我知道像这样的问题以前已经被问过很多次,但我认为这是微妙的不同。

我正在尝试使用 scapy 在 Python 中编写一个灵活的流量生成器。生成数据包很好,但是当涉及到以足够快的速率发送流量时(根据我的需要,每秒 500-700 个数据包的范围内),我似乎在 20-30 pps 左右遇到了瓶颈。

我认为可能需要一些线程,还是我错过了一些更简单的东西?

最佳答案

在我的系统上,与使用 send 发送 IP 数据包相比,使用 sendp 发送以太网帧的性能要好得多。

# this gives appox 500pps on my system
pe=Ether()/IP(dst="10.13.37.218")/ICMP()
sendp(pe, loop=True)

# this gives approx 100pps on my system
pi=IP(dst="10.13.37.218")/ICMP()
send(pi, loop=True)

但是在套接字上手动发送(预先创建的)数据包要快得多:

s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW)
s.bind(("eth0", 0))
pe=Ether()/IP(dst="10.13.37.218")/ICMP()
data = pe.build()
while True:
s.send(data)

但是将 pe.build() 移到循环中会大大降低速度,这表明实际的数据包构建需要时间。

关于python - 使用 scapy 灵活生成流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7485216/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com