增加通联关系日志
ddos增加action检索条件
This commit is contained in:
43
src/main/java/com/nis/domain/log/NtcConnRecordLog.java
Normal file
43
src/main/java/com/nis/domain/log/NtcConnRecordLog.java
Normal file
@@ -0,0 +1,43 @@
|
||||
package com.nis.domain.log;
|
||||
|
||||
public class NtcConnRecordLog extends BaseLogEntity<NtcConnRecordLog> {
|
||||
|
||||
private static final long serialVersionUID = -4947912502754359817L;
|
||||
|
||||
protected Integer appLabel;
|
||||
protected String c2sPktNum;
|
||||
protected String s2cPktNum;
|
||||
protected String c2sByteNum;
|
||||
protected String s2cByteNum;
|
||||
public Integer getAppLabel() {
|
||||
return appLabel;
|
||||
}
|
||||
public void setAppLabel(Integer appLabel) {
|
||||
this.appLabel = appLabel;
|
||||
}
|
||||
public String getC2sPktNum() {
|
||||
return c2sPktNum;
|
||||
}
|
||||
public void setC2sPktNum(String c2sPktNum) {
|
||||
this.c2sPktNum = c2sPktNum;
|
||||
}
|
||||
public String getS2cPktNum() {
|
||||
return s2cPktNum;
|
||||
}
|
||||
public void setS2cPktNum(String s2cPktNum) {
|
||||
this.s2cPktNum = s2cPktNum;
|
||||
}
|
||||
public String getC2sByteNum() {
|
||||
return c2sByteNum;
|
||||
}
|
||||
public void setC2sByteNum(String c2sByteNum) {
|
||||
this.c2sByteNum = c2sByteNum;
|
||||
}
|
||||
public String getS2cByteNum() {
|
||||
return s2cByteNum;
|
||||
}
|
||||
public void setS2cByteNum(String s2cByteNum) {
|
||||
this.s2cByteNum = s2cByteNum;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -767,4 +767,5 @@ public final class Constants {
|
||||
public static final String DNS_SPOOFING_IP_DESC = Configurations.getStringProperty("dns_spoofing_ip_desc","");
|
||||
public static final String DNS_SPOOFING_IP_IP = Configurations.getStringProperty("dns_spoofing_ip_ip","");
|
||||
public static final String NTC_COLLECT_RADIUS_LOG =Configurations.getStringProperty("ntcCollectRadiusLog","");
|
||||
public static final String NTC_CONN_RECORD_LOG =Configurations.getStringProperty("ntcConnRecordLog","");
|
||||
}
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.nis.web.controller.log.ntc;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.nis.domain.FunctionServiceDict;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.PageLog;
|
||||
import com.nis.domain.log.IrDnatLog;
|
||||
import com.nis.domain.log.IrSnatLog;
|
||||
import com.nis.domain.log.NtcCollectRadiusLog;
|
||||
import com.nis.domain.log.NtcConnRecordLog;
|
||||
import com.nis.domain.maat.LogRecvData;
|
||||
import com.nis.util.CodeDicUtils;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.DictUtils;
|
||||
import com.nis.util.httpclient.HttpClientUtil;
|
||||
import com.nis.web.controller.BaseController;
|
||||
import com.nis.web.dao.dashboard.codedic.CodeResult;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("${adminPath}/log/ntc/connRecordLogs")
|
||||
public class NtcConnRecordLogController extends BaseController {
|
||||
|
||||
@RequestMapping(value = {"/list", ""})
|
||||
public String connRecordLogs(@ModelAttribute("log") NtcConnRecordLog log, Model model, HttpServletRequest request, HttpServletResponse response) {
|
||||
try {
|
||||
PageLog<NtcConnRecordLog> page = new PageLog<NtcConnRecordLog>(request, response);
|
||||
Map<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("pageSize", page.getPageSize());
|
||||
params.put("pageNo", page.getPageNo());
|
||||
initLogSearchValue(log, params);
|
||||
|
||||
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
|
||||
model.addAttribute("serviceList", serviceList);
|
||||
List<CodeResult> appList=CodeDicUtils.getCodeList("appCode");
|
||||
model.addAttribute("appList", appList);
|
||||
|
||||
String url =Constants.LOG_BASE_URL + Constants.NTC_CONN_RECORD_LOG;
|
||||
String recv = HttpClientUtil.getMsg(url, params, request);
|
||||
|
||||
if (StringUtils.isNotBlank(recv)) {
|
||||
Gson gson = new GsonBuilder().create();
|
||||
LogRecvData<NtcConnRecordLog> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcConnRecordLog>>(){}.getType());
|
||||
if (fromJson.getStatus().intValue() == 200) {
|
||||
Page<NtcConnRecordLog> data = fromJson.getData();
|
||||
page.setCount(data.getCount());
|
||||
page.setLast(data.getLast());
|
||||
page.setList(data.getList());
|
||||
/*List<NtcCollectRadiusLog> list = page.getList();
|
||||
for (NtcConnRecordLog l : list) {
|
||||
l.setFunctionId(log.getFunctionId());
|
||||
setLogAction(l,serviceList);
|
||||
}*/
|
||||
model.addAttribute("page", page);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("查询失败", e);
|
||||
addMessageLog(model, e.getMessage());
|
||||
}
|
||||
|
||||
return "/log/ntc/connRecordLogList";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -706,7 +706,7 @@ domain_ratelimit=Website Rate Limit
|
||||
ratelimit=Packet Drop Rate
|
||||
ir_type=Reuse Type
|
||||
dns_strategy_id=DNS Policy ID
|
||||
no_strategy=No Strategy
|
||||
no_strategy=Default Strategy
|
||||
domain=Domain
|
||||
app_ip_config=APP Identify IP
|
||||
bytes=Byte
|
||||
@@ -1367,3 +1367,4 @@ log_user_name=User Name
|
||||
av_tips=The system does not support the index information of audio and video coding in the tail of the audio and video files. The system does not support video with resolution greater than 1080P.
|
||||
asn_ip_group_delete=\uFF08IP configuration under this ASN group will also be deleted.)
|
||||
keyword_log_tips=Deduplicate http body keywords log,for the control status of http body keywords is not ideal, configure the http url of the hit keyword as URL control configuration.
|
||||
conn_record=Connection Records
|
||||
@@ -706,7 +706,7 @@ domain_ratelimit=\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u0
|
||||
ratelimit=\u041A\u043E\u044D\u0444\u0444\u0438\u0446\u0438\u0435\u043D\u0442 \u043F\u043E\u0442\u0435\u0440\u0438 \u043F\u0430\u043A\u0435\u0442\u043E\u0432
|
||||
ir_type=\u0422\u0438\u043F \u043F\u043E\u0432\u0442\u043E\u0440\u043D\u043E\u0433\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F
|
||||
dns_strategy_id=\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u043F\u043E\u043B\u0438\u0442\u0438\u043A\u0438 DNS
|
||||
no_strategy=\u041D\u0435\u0442 \u043F\u043E\u043B\u0438\u0442\u0438\u043A\u0438
|
||||
no_strategy=\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u043E\u043B\u0438\u0442\u0438\u043A\u0438
|
||||
domain=\u0414\u043E\u043C\u0435\u043D
|
||||
app_ip_config=\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F
|
||||
bytes=\u0411\u0430\u0439\u0442
|
||||
@@ -1371,3 +1371,4 @@ log_user_name=User Name
|
||||
av_tips=\u041A\u043E\u0433\u0434\u0430 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u0438\u043D\u0434\u0435\u043A\u0441\u0430 \u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0430\u0443\u0434\u0438\u043E \u0438 \u0432\u0438\u0434\u0435\u043E \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0432 \u043A\u043E\u043D\u0446\u0435 \u0444\u0430\u0439\u043B\u0430 \u0438\u043B\u0438 \u0432\u0438\u0434\u0435\u043E \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435\u043C \u0431\u043E\u043B\u0435\u0435 1080p., \u0441\u0438\u0441\u0442\u0435\u043C\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F.
|
||||
asn_ip_group_delete=\uFF08IP configuration under this ASN group will also be deleted.)
|
||||
keyword_log_tips=\u041A\u043E\u0433\u0434\u0430 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u043A\u043B\u044E\u0447\u0435\u0432\u044B\u043C\u0438 \u0441\u043B\u043E\u0432\u0430\u043C\u0438 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043F\u043B\u043E\u0445\u0438\u043C, \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0434\u0435\u0434\u0443\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u043E\u043D\u043D\u043E\u0433\u043E \u0436\u0443\u0440\u043D\u0430\u043B\u0430 \u0434\u0430\u043D\u043D\u043E\u0439 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E <20>\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 URL<52> \u0434\u043B\u044F \u043F\u043E\u0434\u0430\u0432\u0448\u0435\u0433\u043E \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430.
|
||||
conn_record=Connection Records
|
||||
@@ -704,7 +704,7 @@ domain_ratelimit=\u57DF\u540D\u9650\u6D41
|
||||
ratelimit=\u4E22\u5305\u7387
|
||||
ir_type=\u590D\u7528\u7C7B\u578B
|
||||
dns_strategy_id=DNS\u7B56\u7565ID
|
||||
no_strategy=\u65E0\u7B56\u7565
|
||||
no_strategy=\u9ED8\u8BA4\u7B56\u7565
|
||||
domain=\u57DF\u540D
|
||||
app_ip_config=APP\u534F\u8BAEIP
|
||||
bytes=\u5B57\u8282
|
||||
@@ -1367,3 +1367,4 @@ log_user_name=User Name
|
||||
av_tips=\u5BF9\u4E8E\u97F3\u89C6\u9891\u7F16\u7801\u7684\u7D22\u5F15\u4FE1\u606F\u5728\u97F3\u89C6\u9891\u6587\u4EF6\u5C3E\u90E8\u7684\u60C5\u51B5\uFF0C\u672C\u7CFB\u7EDF\u4E0D\u4E88\u652F\u6301\uFF0C\u5BF9\u4E8E\u5206\u8FA8\u7387\u5927\u4E8E4\u5146\u7684\u89C6\u9891\uFF0C\u672C\u7CFB\u7EDF\u4E0D\u4E88\u652F\u6301
|
||||
asn_ip_group_delete=(\u8BE5ASN\u7EC4\u4E0B\u7684IP\u914D\u7F6E\u4E5F\u4F1A\u88AB\u5220\u9664)
|
||||
keyword_log_tips=\u6E05\u6D17\u540E\u7F51\u9875\u5173\u952E\u5B57\u65E5\u5FD7\uFF0C\u7F51\u9875\u5173\u952E\u5B57\u7BA1\u63A7\u72B6\u51B5\u4E0D\u7406\u60F3\u65F6\uFF0C\u53EF\u5C06\u6E05\u6D17\u540E\u5EFA\u8BAE\u7ED9\u51FA\u7684\u547D\u4E2D\u5173\u952E\u5B57\u7F51\u9875\u914D\u7F6E\u4E3AURL\u7BA1\u63A7
|
||||
conn_record=\u901A\u8054\u5173\u7CFB
|
||||
@@ -584,3 +584,4 @@ dns_spoofing_ip_desc=Default Spoofing IP
|
||||
dns_spoofing_ip_ip=1.1.1.1
|
||||
trafficBandwidthTransTwo=trafficBandwidthTransTwo
|
||||
ntcCollectRadiusLog=ntcCollectRadiusLogs
|
||||
ntcConnRecordLog=ntcConnRecordLogs
|
||||
355
src/main/webapp/WEB-INF/views/log/ntc/connRecordLogList.jsp
Normal file
355
src/main/webapp/WEB-INF/views/log/ntc/connRecordLogList.jsp
Normal file
@@ -0,0 +1,355 @@
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
IP<spring:message code="log"></spring:message>
|
||||
</title>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
//reset
|
||||
$("#resetBtn").on("click",function(){
|
||||
$("select.selectpicker").each(function(){
|
||||
$(this).selectpicker('val',$(this).find('option:first').val());
|
||||
$(this).find("option").attr("selected",false);
|
||||
$(this).find("option:first").attr("selected",true);
|
||||
});
|
||||
$(".Wdate").attr("value",'');
|
||||
$(':input','#searchForm')
|
||||
.not(':button,:submit,:reset,:hidden')
|
||||
.attr("value",'');
|
||||
$("#searchForm")[0].reset();
|
||||
});
|
||||
//筛选功能
|
||||
filterActionInit();
|
||||
|
||||
|
||||
$("span[id^=close]").on("click",function(){
|
||||
var closeId=$(this).attr("id");
|
||||
var openId=$(this).attr("id").replace("close","open");
|
||||
$("#"+closeId).hide();
|
||||
$("#"+openId).show();
|
||||
$("#"+closeId).parent().parent().next("tr").hide();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
</div>
|
||||
<h3 class="page-title">
|
||||
<spring:message code="conn_record"/>
|
||||
</h3>
|
||||
<h5 class="page-header"></h5>
|
||||
<div class="col-md-12">
|
||||
<div class="portlet">
|
||||
<div class="portlet-body">
|
||||
<div class="row" >
|
||||
<form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/radiusLogs/list" method="post" class="form-search">
|
||||
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
|
||||
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
|
||||
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
|
||||
<input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
|
||||
<!-- 筛选按钮展开状态-->
|
||||
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
|
||||
<sys:tableSort id="orderBy" name="orderBy.
|
||||
" value="${page.orderBy}" callback="page();" />
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
<div class="col-md-12">
|
||||
<%-- <div class="pull-left">
|
||||
<form:select path="service" class="selectpicker select2 input-small">
|
||||
<form:option value=""><spring:message code="action"/></form:option>
|
||||
<c:forEach items="${serviceList}" var="service"
|
||||
varStatus="satus">
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
<c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) && (service.serviceId ne 37)&& (service.serviceId ne 149) }">
|
||||
<form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div> --%>
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
|
||||
</div>
|
||||
<input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
|
||||
</div>
|
||||
<input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
|
||||
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
|
||||
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/><i class="fa fa-angle-double-down"></i></button>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
<a class="btn btn-icon-only btn-default setfields tooltips"
|
||||
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
|
||||
<i class="icon-wrench"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
|
||||
<!-- 筛选搜索内容栏默认隐藏-->
|
||||
<div class="col-md-12 filter-action-select-panle hide" >
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label class="control-label"><spring:message code='transport_layer_protocol'/>:</label>
|
||||
<form:select path="transProto" class="selectpicker form-control">
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="protocol" >
|
||||
<form:option value="${protocol.itemCode}"><spring:message code="${protocol.itemValue}"></spring:message></form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label class="control-label"><spring:message code="direction"/>:</label>
|
||||
<form:select path="direction" class="selectpicker form-control">
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction" >
|
||||
<form:option value="${direction.itemCode}"><spring:message code="${direction.itemValue}"></spring:message></form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="entrance"/>:</label>
|
||||
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
|
||||
<form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="clj_ip"></spring:message>:</label>
|
||||
<input name="capIp" type="text" class="form-control" value="${log.capIp }"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="clientip"></spring:message>:</label>
|
||||
<input name="sIp" type="text" class="form-control" value="${log.sIp }"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="serverip"></spring:message>:</label>
|
||||
<input name="dIp" type="text" class="form-control" value="${log.dIp }"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%-- <div class="row">
|
||||
<div class="col-md-2">
|
||||
<label><spring:message code="cfg_id"></spring:message>:</label>
|
||||
<input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
|
||||
</div>
|
||||
</div> --%>
|
||||
</div>
|
||||
<!-- /筛选搜索内容栏 结束-->
|
||||
</form:form>
|
||||
</div>
|
||||
<sys:message content="${message}"/>
|
||||
<div class="table-responsive">
|
||||
|
||||
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><spring:message code="log"/></th>
|
||||
<%-- <th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
|
||||
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th> --%>
|
||||
<th class="sort-column found_time"><spring:message code="found_time"/></th>
|
||||
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
|
||||
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
|
||||
|
||||
|
||||
<th class="sort-column app_label"><spring:message code='social_app'/></th>
|
||||
<th class="sort-column c2s_pkt_num"><spring:message code="c2s_pkt_num"/></th>
|
||||
<th class="sort-column s2c_pkt_num"><spring:message code='s2c_pkt_num'/></th>
|
||||
<th class="sort-column c2s_byte_num"><spring:message code="c2s_byte_num"/></th>
|
||||
<th class="sort-column s2c_byte_num"><spring:message code="s2c_byte_num"/></th>
|
||||
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
|
||||
<th class="sort-column trans_proto"><spring:message code="transport_layer_protocol"/></th>
|
||||
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
|
||||
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
|
||||
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
|
||||
<th class="sort-column d_port"><spring:message code="server_port"/></th>
|
||||
<th class="sort-column s_port"><spring:message code="client_port"/></th>
|
||||
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
|
||||
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
|
||||
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
|
||||
<th class="sort-column direction"><spring:message code="direction"/></th>
|
||||
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
|
||||
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
|
||||
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
|
||||
|
||||
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
|
||||
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
|
||||
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
|
||||
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
|
||||
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
|
||||
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
|
||||
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
|
||||
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="log" items="${page.list }" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span> --%>
|
||||
<a href="javascript:void(0)" name="viewLogInfo" ><i class="icon-book-open"></i></a>
|
||||
</td>
|
||||
<%-- <td>${log.cfgId }</td>
|
||||
<td>
|
||||
<c:set var="actions">${log.action }</c:set>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
|
||||
<c:if test="${dict.itemCode eq log.action}">
|
||||
<c:set var="actions">${dict.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${actions}"/>
|
||||
</td> --%>
|
||||
<td>${log.foundTime }</td>
|
||||
<td>${log.recvTime }</td>
|
||||
<td>
|
||||
<c:set var="entrances">${log.entranceId }</c:set>
|
||||
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
|
||||
<c:if test="${dic.itemCode eq log.entranceId}">
|
||||
<c:set var="entrances">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${entrances}"/>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<c:set var="labelAppIds">${log.appLabel }</c:set>
|
||||
<c:forEach items="${appList}" var="dict">
|
||||
<c:if test="${dict.code eq log.appLabel}">
|
||||
<c:set var="labelAppIds">${dict.item}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${labelAppIds}"/>
|
||||
</td>
|
||||
<td>${log.c2sPktNum }</td>
|
||||
<td>${log.s2cPktNum }</td>
|
||||
<td>${log.c2sByteNum }</td>
|
||||
<td>${log.s2cByteNum }</td>
|
||||
|
||||
<td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
|
||||
<td>
|
||||
<c:set var="transProtos">${log.transProto }</c:set>
|
||||
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
|
||||
<c:if test="${dic.itemCode eq log.transProto}">
|
||||
<c:set var="transProtos">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${transProtos}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="addrTypes">${log.addrType }</c:set>
|
||||
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
|
||||
<c:if test="${log.addrType==dic.itemCode}">
|
||||
<c:set var="addrTypes">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${addrTypes}"/>
|
||||
</td>
|
||||
<td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
|
||||
<td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
|
||||
<td>${log.dPort }</td>
|
||||
<td>${log.sPort }</td>
|
||||
<td>
|
||||
<c:set var="deviceIds">${log.deviceId }</c:set>
|
||||
<c:forEach items="${fns:getDictList('DEVICE')}" var="device">
|
||||
<c:if test="${device.itemCode eq log.deviceId}">
|
||||
<c:set var="deviceIds">${device.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${deviceIds}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="linkIds">${log.linkId }</c:set>
|
||||
<c:forEach items="${fns:getDictList('LINK')}" var="link">
|
||||
<c:if test="${link.itemCode eq log.linkId}">
|
||||
<c:set var="linkIds">${link.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${linkIds}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="encapTypes">${log.encapType }</c:set>
|
||||
<c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
|
||||
<c:if test="${encapType.itemCode eq log.encapType}">
|
||||
<c:set var="encapTypes">${encapType.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${encapTypes}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="directions">${log.direction }</c:set>
|
||||
<c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
|
||||
<c:if test="${direction.itemCode eq log.direction}">
|
||||
<c:set var="directions">${direction.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${directions}"/>
|
||||
</td>
|
||||
|
||||
<td>${log.innerSmac }</td>
|
||||
<td>${log.innerDmac }</td>
|
||||
<td>
|
||||
<c:set var="streamDirs">${log.streamDir }</c:set>
|
||||
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
|
||||
<c:if test="${streamType.itemCode eq log.streamDir}">
|
||||
<c:set var="streamDirs">${streamType.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${streamDirs}"/>
|
||||
</td>
|
||||
<td>${log.addrList }</td>
|
||||
<td>${log.serverLocate}</td>
|
||||
<td>${log.clientLocate}</td>
|
||||
<td>${log.sAsn}</td>
|
||||
<td>${log.dAsn}</td>
|
||||
<td>${log.sSubscribeId}</td>
|
||||
<td>${log.dSubscribeId}</td>
|
||||
<td>${log.userRegion}</td>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="page">${page}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -94,6 +94,19 @@ $(document).ready(function(){
|
||||
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
<div class="col-md-12">
|
||||
<div class="pull-left">
|
||||
<form:select path="service" class="selectpicker select2 input-small">
|
||||
<form:option value=""><spring:message code="action"/></form:option>
|
||||
<c:forEach items="${serviceList}" var="service"
|
||||
varStatus="satus">
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
<c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
|
||||
<form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
|
||||
Reference in New Issue
Block a user