You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.6 KiB
90 lines
2.6 KiB
#!/usr/bin/python
|
|
#encoding=utf-8
|
|
# author: tangwy
|
|
|
|
import json
|
|
import os,re
|
|
import codecs
|
|
import csv
|
|
import ConfigParser
|
|
from isoc.utils.esUtil import EsUtil
|
|
|
|
|
|
print json.dumps(es_host_list)
|
|
# conf_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'conf')
|
|
# ini_path = os.path.join(conf_path, 'conf.ini')
|
|
# config = ConfigParser.ConfigParser()
|
|
# config.read(ini_path)
|
|
|
|
# ES_HOST = config.get('COMMON', 'es_host')
|
|
# ES_PER_COUNT = config.get('COMMON', 'es_per_count')
|
|
# ES_INDEX_NAME = config.get('COMMON', 'es_index_name')
|
|
# CSV_FILE_PATH = config.get('COMMON', 'csv_file_path')
|
|
|
|
|
|
|
|
def createIndex():
|
|
es = Elasticsearch(es_host_list)
|
|
es.create(index="urba_analyse_2024_06", ignore=400)
|
|
|
|
map={
|
|
"ip1": "text",
|
|
"ip2": "text",
|
|
"ip3": "text",
|
|
"ip4": "text",
|
|
}
|
|
es_instance = EsUtil()
|
|
res = es_instance.create_index_simple("urba_analyse_2024_06")
|
|
return res
|
|
|
|
|
|
|
|
|
|
|
|
# def generate_ip_range(start_ip, end_ip):
|
|
# start_parts = list(map(int, start_ip.split('.')))
|
|
# end_parts = list(map(int, end_ip.split('.')))
|
|
# ip_range = []
|
|
|
|
# while start_parts < end_parts:
|
|
# ip_range.append('.'.join(map(str, start_parts)))
|
|
# start_parts[3] += 1
|
|
# for i in range(3, 0, -1):
|
|
# if start_parts[i] == 256:
|
|
# start_parts[i] = 0
|
|
# start_parts[i-1] += 1
|
|
|
|
# ip_range.append('.'.join(map(str, start_parts))) # 添加结束IP地址
|
|
# return ip_range
|
|
|
|
# # scroll查询数据
|
|
# def get_ip_summary_data(start_time,end_time,query_body):
|
|
# es = Elasticsearch(ES_HOST)
|
|
# msg = es.search(index=ES_INDEX_NAME,scroll="3m",size=ES_PER_COUNT,_source_includes= ["cookies","url","sip","dip"], query=query_body)
|
|
|
|
# result = msg['hits']['hits']
|
|
# total = msg['hits']['total']
|
|
# scroll_id = msg['_scroll_id']
|
|
|
|
# for i in range(0,int(total["value"]/ES_PER_COUNT)+1):
|
|
# query_scroll = es.scroll(scroll_id=scroll_id, scroll='3m')["hits"]["hits"]
|
|
# result += query_scroll
|
|
# return result
|
|
|
|
# # 读取csv文件 获取ip归属地
|
|
# def get_ip_area_relation(csv_file_path):
|
|
# iprange_map = {}
|
|
# with codecs.open(csv_file_path, mode='r',encoding='utf-8') as file:
|
|
# csv_reader = csv.reader(file)
|
|
# for row in csv_reader:
|
|
# headers = next(csv_reader)
|
|
# ip_start = headers[0]
|
|
# ip_end = headers[1]
|
|
# ip_range = generate_ip_range(ip_start, ip_end)
|
|
# ip_area = headers[5]
|
|
# print (ip_area)
|
|
# for ip in ip_range:
|
|
# iprange_map[ip] = ip_area
|
|
# return iprange_map
|
|
|
|
# get_ip_area_relation("/tmp/data/ip_area_relation.csv") |