2024-06-07 01:38:16 发布
网友
在我的SDN实验中,我使用Scapy来伪造随机的tcp和udp流来测试数据包的洪泛。但我不知道如何控制Scapy发送数据包的速度。例如,如果我想设置Scapy发送数据包1000 pkt/s,我应该怎么做?在
Scapy
最有效的方法是将scapy的sendpfast与{}一起使用(必须安装):
sendpfast
>>> pkt = Ether()/IP()/TCP()/"blobofdata". # must be layer 2 # let’s send 10000 packets at 1000 packets per seconds >>> sendpfast(Ether()/pkt, pps=1000, loop=10000, parse_results=1) {'packets': 10000, 'bytes': 660000, 'time': 9.99, 'bps': 66006.1, 'mbps': 0.528, 'pps': 1000.09, 'flows': 1, 'fps': 0.1, 'flow_packets': 100000000, 'non_flow': 0, 'successful': 10000, 'failed': 0, 'truncated': 0, 'retried_enobufs': 0, 'retried_eagain': 0, 'command': 'tcpreplay intf1=enp0s3 pps=1000 loop=10000 /tmp/scapyo6ilzjdk', 'warnings': []} >>>
你甚至得到一些数据。 这就解决了Python不允许如此高的数据包速率的限制。在
如果您的目标是更低的速率,您可以使用inter来自send
inter
send
最有效的方法是将scapy的}一起使用(必须安装):
sendpfast
与{你甚至得到一些数据。 这就解决了Python不允许如此高的数据包速率的限制。在
如果您的目标是更低的速率,您可以使用
^{pr2}$inter
来自send
相关问题 更多 >
编程相关推荐