in code/utility/get_fms_waf_policy.py [0:0]
def simulate_user(requestTimeStamp, args, country, headers = [], userAgents=[], method = 'GET', labels=[], ipName = 'user', initialURLList = [], minInitial = -1, maxInitial = -1, randomURLList= [], minRandom = 0, maxrandom = 0,finalURLList = [], minFinal = -1, maxFinal = -1):
requests = []
l = len(initialURLList)
if userAgents == []:
uAgent = ""
else:
uAgent = userAgents[random.randrange(0,len(userAgents)-1)]
if not args == []:
queryString = random.choice(args)
else:
queryString = ""
ipDetails = source_ip_calculate(ipName, country)
if minInitial == -1:
minInitial = l
maxInitial = l
if maxInitial == -1:
maxInitial = l
if minFinal == -1:
minFinal == l
maxFinal == l
if maxFinal == -1:
maxFinal == l
if maxInitial > l:
maxInitial = l
if minInitial > l:
minInitial = l
if not minInitial == maxInitial:
y = random.randrange(minInitial,maxInitial)
else:
y = maxInitial
#Make the initial Requests
if not initialURLList == []:
for x in range(0,y):
#Go the general stuff
request = fake_request(requestTimeStamp, method, headers, uAgent, queryString, ipDetails, country)
request['httpRequest']['uri'] = rootURL + initialURLList[x]
#print (request)
requests.append(copy.deepcopy(request))
#Make middle random requests
if not minRandom == maxrandom:
y = random.randrange(minRandom,maxrandom)
else:
y = maxInitial
if not randomURLList == []:
for x in range(0,y):
#Go the general stuff
request = fake_request(requestTimeStamp, method, headers, uAgent, queryString, ipDetails, country)
request['httpRequest']['uri'] = random.choice(randomURLList)
requests.append(copy.deepcopy(request))
#Make final Requests
if not minFinal == maxFinal:
y = random.randrange(minFinal,maxFinal)
else:
y = maxFinal
if not finalURLList == []:
for x in range(0,y):
#Go the general stuff
request = fake_request(requestTimeStamp, method, headers, uAgent, queryString, ipDetails, country)
request['httpRequest']['uri'] = finalURLList[x]
requests.append(copy.deepcopy(request))
return (requests)