如何设置自己的scapy交通到达时间

时间:2014-04-07 19:13:58

标签: python networking packet scapy traffic

这是我生成http流量的脚本

from scapy.all import *
from random import randint
import time
from threading import *

# Generate packet
pkts = IP(src="10.0.0.1",dst="10.0.0.2")/TCP()/"GET /HTTP/1.0\r\n\r\n"/Raw(RandString(size=120))
#print pkts
pkts[TCP].flags = "S"
pktList = []
for pktNum in range(0,20):
    pktList.extend(pkts)
    pktList[pktNum][TCP].dport = randint(1,65535) # Pkt has Ran PortNo.
    print pktList[pktNum].summary()
    print len(pktList[pktNum])

# Send the list of packets
start_time=time.time()
send(pktList)
print time.time() - start_time,"seconds"
#print start_time, "secs"
pktList[0].show()

现在问题是我无法以自定义字节/秒速率发送流量。我如何能够根据自己的需要发送?

1 个答案:

答案 0 :(得分:3)

请参阅scapy上的文档,特别是第35页。您可以通过更改inter命令中的send参数来指定速率。

例如,要达到每秒100个数据包的速率,您可以写:

send(pktList, inter = 0.01)

要获得更多控制权,您可以使用scapy中的sendpfast命令来定义比特率(mbps参数):

sendpfast(pkt, pps=N, mbps=N, loop=0, iface=N)