def topological_graph_show(request): status1, topo_data= HTTPclient.http_request(TOPO_URL,"GET") topo_data=json.dumps(topo_data) status2, link_data = HTTPclient.http_request(LINK_URL,"GET") link_data=json.dumps(link_data) status3, global_data = HTTPclient.http_request(GLOBAL_URL,"GET") global_data=json.dumps(global_data) #为了动态加载页面中的搜索项,方便用户知道有什么备选src_mac等可供查询 parse_data = json.loads(global_data) result = parse_data["result"] src_mac = [] dst_mac = [] src_ip = [] dst_ip = [] src_port = [] dst_port = [] for key in result: try: src_mac.append(result[key]["matchlist"][0]["dataLayerSource"]) dst_mac.append(result[key]["matchlist"][0]['dataLayerDestination']) src_ip.append(result[key]['matchlist'][0]['networkSource']) dst_ip.append(result[key]['matchlist'][0]['networkDestination']) src_port.append(result[key]['matchlist'][0]['transportSource']) dst_port.append(result[key]['matchlist'][0]['transportDestination']) except: continue src_mac = json.dumps(list(set(src_mac))) dst_mac = json.dumps(list(set(dst_mac))) src_ip = json.dumps(list(set(src_ip))) dst_ip = json.dumps(list(set(dst_ip))) src_port = json.dumps(list(set(src_port))) dst_port = json.dumps(list(set(dst_port))) parse_data = json.dumps(result) args_data = { 'cv_topological_graph': True, 'topo_data': topo_data, 'link_data': link_data, 'global_data': global_data, 'src_mac':src_mac, 'dst_mac':dst_mac, 'src_ip':src_ip, 'dst_ip':dst_ip, 'src_port':src_port, 'dst_port':dst_port, } return render_to_response('viewapp/topological_graph.html', args_data, context_instance=RequestContext(request))
def record_retrieve(request): status1, topo_data= HTTPclient.http_request(TOPO_URL,"GET") topo_data=json.dumps(topo_data) status2, link_data = HTTPclient.http_request(LINK_URL,"GET") link_data=json.dumps(link_data) args_data = { 'cv_record_retrieve': True, 'topo_data': topo_data, 'link_data': link_data, } return render_to_response('viewapp/record_retrieve.html', args_data, context_instance=RequestContext(request))
def dealWithForm(request): print "request body:" print str(request.body) req= request.REQUEST#json.loads(request.body) post_data={} if(req.get('src_mac')): post_data['dataLayerSource']=req.get('src_mac') if(req.get('dst_mac')): post_data['dataLayerDestination']=req.get('dst_mac') if(req.get('proto')): post_data['networkProtocol']=int(req.get('proto')) if(req.get('src_ip')): post_data['networkSource']=req.get('src_ip') if(req.get('dst_ip')): post_data['networkDestination']=req.get('dst_ip') if(req.get('src_port')): post_data['transportSource']=req.get('src_port') if(req.get('dst_port')): post_data['transportDestination']=req.get('dst_port') if(req.get('curPage')): post_data['curPage']=req.get('curPage') if(req.get('size')): post_data['size']=req.get('size') url=SECURITY_CONTROLLER+'/sc/globalflow/' post_str=json.dumps(post_data) print 'post data:',post_str print 'url :',url status, result= HTTPclient.http_request(url,"POST",post_str) resp=json.dumps(result) return HttpResponse(resp)
def dealWithFormFlow(request): print "ok" req= request.REQUEST#json.loads(request.body) get_data="" post_data={} if(req.get('src_mac')): post_data['dataLayerSource']=req.get('src_mac') if(req.get('dst_mac')): post_data['dataLayerDestination']=req.get('dst_mac') if(req.get('proto')): post_data['networkProtocol']=int(req.get('proto')) if(req.get('src_ip')): post_data['networkSource']=req.get('src_ip') if(req.get('dst_ip')): post_data['networkDestination']=req.get('dst_ip') if(req.get('src_port')): post_data['transportSource']=req.get('src_port') if(req.get('dst_port')): post_data['transportDestination']=req.get('dst_port') if(req.get('starttime')): post_data['starttime']=req.get('starttime') if(req.get('starttime')): post_data['endtime']=req.get('endtime') url=SECURITY_CONTROLLER+'/sc/globalflow/' post_str=json.dumps(post_data); print url print post_str result=HTTPclient.http_request(url,"GET",post_str) resp=json.dumps(result) #print str(resp) return HttpResponse(resp)
def os_topology(request): """ Display SecurityDevice's network topology """ status, OS_TOPOLOGY= HTTPclient.http_request(OS_TOPOLOGY_URL,"GET") OS_TOPOLOGY=json.dumps(OS_TOPOLOGY) args_data = { 'cv_OSTopology': True, 'OS_TOPOLOGY': OS_TOPOLOGY, } return render_to_response( "viewapp/os_topology.html", args_data, context_instance=RequestContext(request) )