Scapy 踩坑实录
·17 words·1 min·
0
·
0
·
Author
Ryan
Table of Contents
sendpfast不返回 #
在scapy中可以通过 sendpfast接口来以一定的Mbps速率发送loop个包。该接口的本质就是调用 tcpreplay命令来实现定速发包。
也就是说,如果我想要在10s内以Mbps的速率发送包,那么只需要计算出来loop的个数即可。
但是在实际使用过程中,在一些极端情况下会遇到一些麻烦。
loop == 1 #
如果10s内发送多个包,那么tcpreplay会在运行10s中之后结束,此时sendpfast接口也返回了。但是如果在10s内仅发送1个包,那么tcpreplay就会在发送后立即结束,sendpfast也会立即返回。如果在一个循环中调用sendpfast,那么讲导致实际的速率和理想的差距很远。
loop == 0 #
此时,tcpreplay将不会返回,也不会发包。在我的程序中,我使用sendpfast来发包,完成后读取新的Mbps。但是当速率太小,以至于10s中一个包也发不出来,那么sendpfast将一直阻塞。也无法读取新的Mbps。