|
|
|
# coding:utf-8
|
|
|
|
|
|
|
|
import sys
|
|
|
|
import uuid
|
|
|
|
import json
|
|
|
|
import time
|
|
|
|
import random
|
|
|
|
|
|
|
|
# path = str(sys.path[0])
|
|
|
|
# home_path = path.split("isop_uebaapiData")[0]
|
|
|
|
# sys.path.append(home_path)
|
|
|
|
from util import send_logs
|
|
|
|
|
|
|
|
def alarm(cookies, api):
|
|
|
|
"""2、HTTP日志"""
|
|
|
|
inputstr = '''[{"msgtype":1,"hash":"8DE9-BDAB-F622-2FA8","dev_ip":"10.67.5.17","product":"uts"},{"sid":"6004744450036c44f815500016d00a5f5151105430a3ed","timestamp":1567673939,"sip":"10.67.0.52","sport":5624,"dip":"10.67.0.53","dport":80,"protocol":6,"app":3087428650795009,"app_proto":8,"direct":4,"app.detail":{"method":"GET","http_protocol":"1.1","ret_code":200,"host":"10.67.1.1","uri":"/webtest/uploadFile.php","referer":"http://[2222::65]/webtest/","content_type":" multipart/form-data; boundary=----WebKitFormBoundary2zcCUl4lQf1h7A7S","content_type_server":" text/html","server":"Apache/2.4.4 (Win32) OpenSSL/0.9.8y PHP/5.4.19","user_agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36","link":"","cookies":"loginmainacctid=wangshiguang;operatorId=d2601586;com.huawei.boss.CURRENT_MENUID=BLAR_ChargeCrm3_WEB;","content_encoding":"","location":"","content_length":70080,"content_length_server":200,"set_cookie":"","range":"","connection":"keep-alive","connection_server":"Keep-Alive","x_forwarded_for":"","post_data":"LS0tLS0tV2ViS2l0Rm9ybUJvdW5kYXJ5MnpjQ1VsNGxRZjFoN0E3Uw0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJmaWxlIjsgZmlsZW5hbWU9IjAwMDFhZDQ0MWRjYjM4NjIxOGE3Njk5MmFjZjhiNzA1Ig0=","response_body":"VXBsb2FkOiAwMDAxYWQ0NDFkY2IzODYyMThhNzY5OTJhY2Y4YjcwNTxiciAvPlR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTxiciAvPlNpemU6IDY4LjEyNzkyOTY4NzUgS2I8YnIgLz5UZW1wIGZpbGU6IEQ6XHhhbXBwXHRtcFxwaHA2ODI1LnRtcDxiciAvPjAwMDFhZDQ0MWRjYjM4NjIxOGE3Njk5MmFjZjhiNzA1IGFscmVhZHkgZXhpc3RzLiA="}}]'''
|
|
|
|
inputarr = json.loads(inputstr, strict=False)
|
|
|
|
# 随机生成timestamp
|
|
|
|
inputarr[1]["timestamp"] = int(time.time())
|
|
|
|
inputarr[1]["sid"] = str(uuid.uuid1())
|
|
|
|
# inputarr[1]["sip"] = "10.67.4.33"
|
|
|
|
inputarr[1]["sip"] = generate_random_ip()
|
|
|
|
inputarr[1]["dip"] = "10.67.1.1"
|
|
|
|
inputarr[1]["dport"] = "8180"
|
|
|
|
inputarr[1]["app.detail"]["uri"] = "/alarmtest.action?BMECID=352432757&BMETimestamp=1692788489260&queryNumber=158713459"
|
|
|
|
inputarr[1]["app.detail"]["host"] = api
|
|
|
|
inputarr[1]["app.detail"]["cookies"] = cookies
|
|
|
|
return json.dumps(inputarr)
|
|
|
|
|
|
|
|
def generate_random_ip():
|
|
|
|
# 固定前缀 "192.168."
|
|
|
|
prefix = "192.168."
|
|
|
|
# 生成随机的第三和第四段IP地址
|
|
|
|
third_octet = 1
|
|
|
|
fourth_octet = random.randint(0, 50)
|
|
|
|
# 拼接IP地址
|
|
|
|
ip = "{}{}.{}".format(prefix, third_octet, fourth_octet)
|
|
|
|
return ip
|
|
|
|
|
|
|
|
def AbIDVisitAPINums510404():
|
|
|
|
datalist = {"TCP_5011": list()}
|
|
|
|
ID2Area = {
|
|
|
|
"武汉": ["1101820", "1101821", "1101822", "1101823", "1101825"],
|
|
|
|
"荆州": ["2001800", "2001801", "2001808"],
|
|
|
|
"江汉": ["1801820", "1801810"],
|
|
|
|
"省公司市场部": ["1002011", "1002012", "1002013"]
|
|
|
|
}
|
|
|
|
api_list = ["test.alarm.com/webtest", "alarm.com/testalarm", "business.system..alarmcom", "hhh.alarm.com",
|
|
|
|
"good.alarm.com"]
|
|
|
|
info_list = [
|
|
|
|
["u-locale=zh_CN;loginmainacctid=zhang3;operatorId=" + ID2Area["武汉"][
|
|
|
|
0] + ";com.huawei.boss.CURRENT_MENUID=BLAR_ChargeCrm3_WEB;", 60],
|
|
|
|
["u-locale=zh_CN;loginmainacctid=zhang3;operatorId=" + ID2Area["荆州"][
|
|
|
|
2] + ";com.huawei.boss.CURRENT_MENUID=BLAR_ChargeCrm3_WEB;", 120]
|
|
|
|
]
|
|
|
|
for i in range(len(info_list)):
|
|
|
|
cookies = info_list[i][0]
|
|
|
|
count = info_list[i][1]
|
|
|
|
for j in range(count):
|
|
|
|
api = random.choice(api_list)
|
|
|
|
datalist["TCP_5011"].append(alarm(cookies, api))
|
|
|
|
for key in datalist.keys():
|
|
|
|
send_logs(datalist[key])
|
|
|
|
return "510405场景的告警数据已生成"
|
|
|
|
|
|
|
|
def get_random_jobnum():
|
|
|
|
# 定义包含不同前缀的字符串数组
|
|
|
|
prefix_strings = [
|
|
|
|
['10243', '10895', '10134', '10781', '10962'], # 10打头的字符串示例
|
|
|
|
['11089', '11057', '11023', '11016', '11030'], # 110打头的字符串示例
|
|
|
|
['14076', '14049', '14098', '14032', '14061'], # 140打头的字符串示例
|
|
|
|
['26054', '26013', '26087', '26029', '26061'], # 260打头的字符串示例
|
|
|
|
['20083', '20015', '20072', '20096', '20048'], # 200打头的字符串示例
|
|
|
|
['19035', '19017', '19049', '19082', '19096'], # 190打头的字符串示例
|
|
|
|
['180237', '180276', '180204', '180295', '180219'] # 1802打头的字符串示例
|
|
|
|
]
|
|
|
|
|
|
|
|
# 随机选择一个前缀数组
|
|
|
|
selected_prefix_array = random.choice(prefix_strings)
|
|
|
|
# 随机选择一个具体的字符串
|
|
|
|
selected_string = random.choice(selected_prefix_array)
|
|
|
|
return selected_string
|
|
|
|
|
|
|
|
def get_random_person():
|
|
|
|
people_list = [
|
|
|
|
"Alice", "Bob", "Charlie", "David", "Emma", "Frank", "Grace", "Henry", "Isabel", "Jack",
|
|
|
|
"Kate", "Liam", "Mia", "Noah", "Olivia"
|
|
|
|
# 继续添加更多的名称...
|
|
|
|
]
|
|
|
|
|
|
|
|
random_person = random.choice(people_list)
|
|
|
|
return random_person
|
|
|
|
|
|
|
|
def get_random_menu():
|
|
|
|
# 定义系统菜单列表
|
|
|
|
system_menu = [
|
|
|
|
"主页", "设置", "个人资料", "消息", "通知", "帮助", "帐户", "关于", "联系我们", "服务",
|
|
|
|
"购物车", "订单", "支付", "地址", "密码"
|
|
|
|
]
|
|
|
|
|
|
|
|
# 随机选择一个菜单项
|
|
|
|
random_menu_item = random.choice(system_menu)
|
|
|
|
return random_menu_item
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
datalist = {"TCP_5011": list()}
|
|
|
|
ID2Area = {
|
|
|
|
"武汉": ["1101820", "1101821", "1101822", "1101823", "1101825"],
|
|
|
|
"荆州": ["2001800", "2001801", "2001808"],
|
|
|
|
"江汉": ["1801820", "1801810"],
|
|
|
|
"省公司市场部": ["1002011", "1002012", "1002013"]
|
|
|
|
}
|
|
|
|
api_list = ["test.alarm.com/webtest", "alarm.com/testalarm", "business.system..alarmcom", "hhh.alarm.com", "good.alarm.com","baidu.com","sohu.com","xinlang.com","erpx.com"]
|
|
|
|
info_list = [
|
|
|
|
["u-locale=zh_CN; loginmainacctid="+get_random_person()+"; userticket=209@9889@23223@10.0.1.183@lis8; operatorId=" + get_random_jobnum() + "; com.huawei.boss.CURRENT_MENUID="+get_random_menu()+";", 3000],
|
|
|
|
["u-locale=zh_CN; loginmainacctid="+get_random_person()+"; userticket=209@9889@23223@10.0.1.183@lis8; operatorId=" + get_random_jobnum() + "; com.huawei.boss.CURRENT_MENUID="+get_random_menu()+";", 3000]
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
for i in range(len(info_list)):
|
|
|
|
cookies = info_list[i][0]
|
|
|
|
count = info_list[i][1]
|
|
|
|
for j in range(count):
|
|
|
|
api = random.choice(api_list)
|
|
|
|
datalist["TCP_5011"].append(alarm(cookies, api))
|
|
|
|
for key in datalist.keys():
|
|
|
|
send_logs(datalist[key])
|
|
|
|
print "510405场景的告警数据已生成"
|