Ssl,Pptp,L2tp 日志查询

This commit is contained in:
dell
2018-06-19 18:21:42 +08:00
parent 56a9917ad9
commit c9dcdedd87
15 changed files with 1036 additions and 8 deletions

View File

@@ -36,12 +36,12 @@
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<name>com.genuitec.eclipse.springframework.springbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.genuitec.eclipse.springframework.springbuilder</name>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>

View File

@@ -1,12 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="gk">
<wb-module deploy-name="gwall-0.0.1-SNAPSHOT">
<wb-resource deploy-path="/" source-path="/target/m2e-jee/web-resources"/>
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<dependent-module archiveName="maat-tools-0.0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/classpath/lib/gwall/lib/maat-tools-0.0.1-SNAPSHOT.jar">
<dependency-type>uses</dependency-type>
</dependent-module>
<property name="java-output-path" value="/gk/target/classes"/>
<property name="context-root" value="gwall"/>
</wb-module>

View File

@@ -0,0 +1,30 @@
package com.nis.domain.log;
public class NtcL2tpLog extends BaseLogEntity<NtcL2tpLog> {
private static final long serialVersionUID = -3547128625966615793L;
private Integer tunnelType;// 通道类型
private Integer encryptMode;// 加密方式
private String chapName; // 用户名称
public String getChapName() {
return chapName;
}
public void setChapName(String chapName) {
this.chapName = chapName;
}
public Integer getTunnelType() {
return tunnelType;
}
public void setTunnelType(Integer tunnelType) {
this.tunnelType = tunnelType;
}
public Integer getEncryptMode() {
return encryptMode;
}
public void setEncryptMode(Integer encryptMode) {
this.encryptMode = encryptMode;
}
}

View File

@@ -0,0 +1,23 @@
package com.nis.domain.log;
public class NtcPptpLog extends BaseLogEntity<NtcPptpLog> {
private static final long serialVersionUID = 6527360739786343374L;
private Integer tunnelType;// 通道类型
private Integer encryptMode;// 加密方式
public Integer getTunnelType() {
return tunnelType;
}
public void setTunnelType(Integer tunnelType) {
this.tunnelType = tunnelType;
}
public Integer getEncryptMode() {
return encryptMode;
}
public void setEncryptMode(Integer encryptMode) {
this.encryptMode = encryptMode;
}
}

View File

@@ -0,0 +1,37 @@
package com.nis.domain.log;
public class NtcSslLog extends BaseLogEntity<NtcSslLog>{
private static final long serialVersionUID = 533266057780162781L;
private String version;// 版本号
private String sni;// SNI
private String san;// SAN
private String ca;// CA
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public String getSni() {
return sni;
}
public void setSni(String sni) {
this.sni = sni;
}
public String getSan() {
return san;
}
public void setSan(String san) {
this.san = san;
}
public String getCa() {
return ca;
}
public void setCa(String ca) {
this.ca = ca;
}
}

View File

@@ -0,0 +1,65 @@
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.springframework.beans.BeanUtils;
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.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page;
import com.nis.domain.log.NtcL2tpLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/log/ntc/l2tpLogs")
public class L2tpLogController extends BaseController {
@RequestMapping(value = {"/list"})
public String list(HttpServletRequest request, HttpServletResponse response, Model model, @ModelAttribute("log")NtcL2tpLog ntcL2tpLog) {
Page<NtcL2tpLog> page = new Page<NtcL2tpLog>(request,response);
Map<String, Object> params = new HashMap<String,Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 请求参数判断
initLogSearchValue(ntcL2tpLog, params);
try {
// 请求接口
String url = Constants.LOG_BASE_URL + Constants.NTC_L2TP_LOG;
String resJson = HttpClientUtil.getMsg(url, params);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcL2tpLog> fromJson = gson.fromJson(resJson, new TypeToken<LogRecvData<NtcL2tpLog>>() {}.getType());
if(fromJson.getStatus().intValue() == 200) {
Page<NtcL2tpLog> fromPage = fromJson.getData();
BeanUtils.copyProperties(fromPage, page);
List<NtcL2tpLog> list = fromPage.getList();
for (NtcL2tpLog log : list) {
log.setFunctionId(ntcL2tpLog.getFunctionId());
setLogAction(log);
}
model.addAttribute("page", page);
}
} catch (JsonSyntaxException e) {
logger.info("L2TP日志查询失败");
e.printStackTrace();
}
return "/log/ntc/l2tpLogList";
}
}

View File

@@ -0,0 +1,65 @@
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.springframework.beans.BeanUtils;
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.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page;
import com.nis.domain.log.NtcPptpLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/log/ntc/pptpLogs")
public class PptpLogController extends BaseController {
@RequestMapping(value = {"/list"})
public String list(HttpServletRequest request, HttpServletResponse response, Model model, @ModelAttribute("log")NtcPptpLog ntcPptpLog) {
Page<NtcPptpLog> page = new Page<NtcPptpLog>(request,response);
Map<String, Object> params = new HashMap<String,Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 请求参数判断
initLogSearchValue(ntcPptpLog, params);
try {
// 请求接口
String url = Constants.LOG_BASE_URL + Constants.NTC_PPTP_LOG;
String resJson = HttpClientUtil.getMsg(url, params);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcPptpLog> fromJson = gson.fromJson(resJson, new TypeToken<LogRecvData<NtcPptpLog>>() {}.getType());
if(fromJson.getStatus().intValue() == 200) {
Page<NtcPptpLog> fromPage = fromJson.getData();
BeanUtils.copyProperties(fromPage, page);
List<NtcPptpLog> list = fromPage.getList();
for (NtcPptpLog log : list) {
log.setFunctionId(ntcPptpLog.getFunctionId());
setLogAction(log);
}
model.addAttribute("page", page);
}
} catch (JsonSyntaxException e) {
logger.info("PPTP日志查询失败");
e.printStackTrace();
}
return "/log/ntc/pptpLogList";
}
}

View File

@@ -0,0 +1,68 @@
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.springframework.beans.BeanUtils;
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.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page;
import com.nis.domain.log.NtcSslLog;
import com.nis.domain.maat.LogRecvData;
import com.nis.util.Constants;
import com.nis.util.StringUtils;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping("${adminPath}/log/ntc/sslLogs")
public class SslLogController extends BaseController {
@RequestMapping(value = {"/list"})
public String list(HttpServletRequest request, HttpServletResponse response, Model model, @ModelAttribute("log")NtcSslLog ntcSslLog) {
Page<NtcSslLog> page = new Page<NtcSslLog>(request,response);
Map<String, Object> params = new HashMap<String,Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
// 请求参数判断
initLogSearchValue(ntcSslLog, params);
if(StringUtils.isNotBlank(ntcSslLog.getSni())) {
params.put("SearchSni", ntcSslLog.getSni());
}
try {
// 请求接口
String url = Constants.LOG_BASE_URL + Constants.NTC_SSL_LOG;
String resJson = HttpClientUtil.getMsg(url, params);
Gson gson = new GsonBuilder().create();
LogRecvData<NtcSslLog> fromJson = gson.fromJson(resJson, new TypeToken<LogRecvData<NtcSslLog>>() {}.getType());
if(fromJson.getStatus().intValue() == 200) {
Page<NtcSslLog> fromPage = fromJson.getData();
BeanUtils.copyProperties(fromPage, page);
List<NtcSslLog> list = fromPage.getList();
for (NtcSslLog log : list) {
log.setFunctionId(ntcSslLog.getFunctionId());
setLogAction(log);
}
model.addAttribute("page", page);
}
} catch (JsonSyntaxException e) {
logger.info("SSL日志查询失败");
e.printStackTrace();
}
return "/log/ntc/sslLogList";
}
}

View File

@@ -653,4 +653,9 @@ dns_query=query
dns_response=response
entrance=entrance
#dns_sub=DNS_SUB
contrl_tunnel=contrl tunnel
data_tunnel=data tunnel
contrl_message=contrl message
data_message=data message
user_name=user name
#===========log end =============

View File

@@ -479,4 +479,9 @@ dns_query=query
dns_response=response
entrance=entrance
#dns_sub=DNS_SUB
contrl_tunnel=contrl tunnel
data_tunnel=data tunnel
contrl_message=contrl message
data_message=data message
user_name=user name
#===========log end =============

View File

@@ -680,4 +680,9 @@ dns_query=\u8BF7\u6C42
dns_response=\u5E94\u7B54
entrance=\u51FA\u5165\u53E3
#dns_sub=DNS_SUB
contrl_tunnel=\u63A7\u5236\u901A\u9053
data_tunnel=\u6570\u636E\u901A\u9053
contrl_message=\u63A7\u5236\u62A5\u6587
data_message=\u6570\u636E\u62A5\u6587
user_name=\u7528\u6237\u540D\u79F0
#===========log end =============

View File

@@ -0,0 +1,242 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<script type="text/javascript">
$(document).ready(function() {
// 筛选
filterActionInit();
// 重置
$("#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();
});
});
</script>
</head>
<body>
<div class="page-content">
<h3 class="page-title">
L2TP<spring:message code="log" />
<small><spring:message code="date_list" /></small>
</h3>
<h5 class="page-header"></h5>
<div class="row">
<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/l2tpLogs/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="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction}"/>
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
<form:select path="serviceType" class="selectpicker select2 input-small">
<form:option value="" ><spring:message code="action"/></form:option>
<form:option value="16" ><spring:message code="action_reject"/></form:option>
<form:option value="1" ><spring:message code="action_monit"/></form:option>
</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 id="beginDate" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
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 id="beginDate" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
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"></spring:message><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><spring:message code="protocol_type"/></label>
<form:select path="protocol" class="selectpicker form-control select2">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
<form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="direct"/></label>
<form:select path="direction" class="selectpicker form-control select2">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="cljIp" type="text" class="form-control" value="${log.cljIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input name="entranceId" type="text" class="form-control" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clientip"/></label>
<input name="clientIp" type="text" class="form-control" value="${log.clientIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="serverip"/></label>
<input name="serverIp" type="text" class="form-control" value="${log.serverIp}"/>
</div>
</div>
</div>
</div>
</form:form>
</div>
<div class="table-responsive">
<sys:message content="${message}"/>
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<th><spring:message code="cfg_id" /></th>
<th><spring:message code="entrance_id" /></th>
<th><spring:message code="action" /></th>
<th><spring:message code="direct" /></th>
<th><spring:message code="found_time" /></th>
<th><spring:message code="recv_time" /></th>
<th><spring:message code="protocol_type" /></th>
<th><spring:message code="addr_type" /></th>
<th><spring:message code="serverip" /></th>
<th><spring:message code="clientip" /></th>
<th><spring:message code="serverport" /></th>
<th><spring:message code="clientport" /></th>
<th><spring:message code="deviceid" /></th>
<th><spring:message code="stream_type" /></th>
<th><spring:message code="clj_ip" /></th>
<th><spring:message code="nest_addr_list" /></th>
<th><spring:message code="user_region" /></th>
<th><spring:message code="tunnel_type" /></th>
<th><spring:message code="encrypt_mode" /></th>
<th><spring:message code="user_name"/></th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list}" var="log" varStatus="status" step="1">
<tr>
<td>${log.cfgId}</td>
<td>${log.entranceId}</td>
<td>
<c:if test="${log.action eq 1 }"><spring:message code="action_monit"/></c:if>
<c:if test="${log.action eq 16 }"><spring:message code="action_reject"/></c:if>
</td>
<td>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<c:if test="${log.direction==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.foundTime }</td>
<td>${log.recvTime }</td>
<td>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
<c:if test="${log.protocol==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="dict">
<c:if test="${log.addrType==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.serverIp}</td>
<td>${log.clientIp}</td>
<td>${log.serverPort}</td>
<td>${log.clientPort}</td>
<td>${log.deviceId}</td>
<td>
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="dict">
<c:if test="${log.streamType==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.cljIp}</td>
<td>${log.nestAddrList}</td>
<td>${log.userRegion}</td>
<td>
<c:if test="${log.tunnelType eq 1}"><spring:message code="contrl_message"/></c:if>
<c:if test="${log.tunnelType eq 2}"><spring:message code="data_message"/></c:if>
</td>
<td><!-- 0-其它1-IPSEC 2-无 -->
<c:if test="${log.encryptMode eq 0}">其它</c:if>
<c:if test="${log.encryptMode eq 1}">IPSEC</c:if>
<c:if test="${log.encryptMode eq 2}">无</c:if>
</td>
<td>${log.chapName}</td>
</tr>
</c:forEach>
</tbody>
</table><div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,240 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<script type="text/javascript">
$(document).ready(function() {
// 筛选
filterActionInit();
// 重置
$("#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();
});
});
</script>
</head>
<body>
<div class="page-content">
<h3 class="page-title">
PPTP<spring:message code="log" />
<small><spring:message code="date_list" /></small>
</h3>
<h5 class="page-header"></h5>
<div class="row">
<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/pptpLogs/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="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction}"/>
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
<form:select path="serviceType" class="selectpicker select2 input-small">
<form:option value="" ><spring:message code="action"/></form:option>
<form:option value="16" ><spring:message code="action_reject"/></form:option>
<form:option value="1" ><spring:message code="action_monit"/></form:option>
</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 id="beginDate" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
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 id="beginDate" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
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"></spring:message><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><spring:message code="protocol_type"/></label>
<form:select path="protocol" class="selectpicker form-control select2">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
<form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="direct"/></label>
<form:select path="direction" class="selectpicker form-control select2">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="cljIp" type="text" class="form-control" value="${log.cljIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input name="entranceId" type="text" class="form-control" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clientip"/></label>
<input name="clientIp" type="text" class="form-control" value="${log.clientIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="serverip"/></label>
<input name="serverIp" type="text" class="form-control" value="${log.serverIp}"/>
</div>
</div>
</div>
</div>
</form:form>
</div>
<div class="table-responsive">
<sys:message content="${message}"/>
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<th><spring:message code="cfg_id" /></th>
<th><spring:message code="entrance_id" /></th>
<th><spring:message code="action" /></th>
<th><spring:message code="direct" /></th>
<th><spring:message code="found_time" /></th>
<th><spring:message code="recv_time" /></th>
<th><spring:message code="protocol_type" /></th>
<th><spring:message code="addr_type" /></th>
<th><spring:message code="serverip" /></th>
<th><spring:message code="clientip" /></th>
<th><spring:message code="serverport" /></th>
<th><spring:message code="clientport" /></th>
<th><spring:message code="deviceid" /></th>
<th><spring:message code="stream_type" /></th>
<th><spring:message code="clj_ip" /></th>
<th><spring:message code="nest_addr_list" /></th>
<th><spring:message code="user_region" /></th>
<th><spring:message code="tunnel_type" /></th>
<th><spring:message code="encrypt_mode" /></th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list}" var="log" varStatus="status" step="1">
<tr>
<td>${log.cfgId}</td>
<td>${log.entranceId}</td>
<td>
<c:if test="${log.action eq 1 }"><spring:message code="action_monit"/></c:if>
<c:if test="${log.action eq 16 }"><spring:message code="action_reject"/></c:if>
</td>
<td>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<c:if test="${log.direction==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.foundTime }</td>
<td>${log.recvTime }</td>
<td>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
<c:if test="${log.protocol==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="dict">
<c:if test="${log.addrType==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.serverIp}</td>
<td>${log.clientIp}</td>
<td>${log.serverPort}</td>
<td>${log.clientPort}</td>
<td>${log.deviceId}</td>
<td>
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="dict">
<c:if test="${log.streamType==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.cljIp}</td>
<td>${log.nestAddrList}</td>
<td>${log.userRegion}</td>
<td>
<c:if test="${log.tunnelType eq 1}"><spring:message code="contrl_tunnel"/></c:if>
<c:if test="${log.tunnelType eq 2}"><spring:message code="data_tunnel"/></c:if>
</td>
<td>
<c:if test="${log.encryptMode eq 1}">MMPE</c:if><c:if test="${log.encryptMode eq 2}">IPSEC</c:if>
<c:if test="${log.encryptMode eq 3}">PAP</c:if><c:if test="${log.encryptMode eq 4}">CHAP</c:if>
<c:if test="${log.encryptMode eq 5}">MS-CHAP(v1/v2)</c:if><c:if test="${log.encryptMode eq 6}">EAP-TLS</c:if>
</td>
</tr>
</c:forEach>
</tbody>
</table><div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,246 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<script type="text/javascript">
$(document).ready(function() {
// 筛选
filterActionInit();
// 重置
$("#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();
});
});
</script>
</head>
<body>
<div class="page-content">
<h3 class="page-title">
SSL<spring:message code="log" />
<small><spring:message code="date_list" /></small>
</h3>
<h5 class="page-header"></h5>
<div class="row">
<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/sslLogs/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="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction}"/>
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
<form:select path="serviceType" class="selectpicker select2 input-small">
<form:option value="" ><spring:message code="action"/></form:option>
<form:option value="16" ><spring:message code="action_reject"/></form:option>
<form:option value="1" ><spring:message code="action_monit"/></form:option>
</form:select>
</div>
<div class="pull-left">
<div class="input-group">
<div class="input-group-btn">
<span class="selectpicker form-control">SNI</span>
</div>
<input name="sni" type="text" class="form-control input-small" value="${log.sni}"/>
</div>
</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 id="beginDate" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
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 id="beginDate" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control input-medium Wdate" data-options="buttons:buttons"
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"></spring:message><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><spring:message code="protocol_type"/></label>
<form:select path="protocol" class="selectpicker form-control select2">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
<form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="direct"/></label>
<form:select path="direction" class="selectpicker form-control select2">
<form:option value=""><spring:message code="select"/></form:option>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clj_ip"/></label>
<input name="cljIp" type="text" class="form-control" value="${log.cljIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="entrance_id"/></label>
<input name="entranceId" type="text" class="form-control" value="${log.entranceId}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="clientip"/></label>
<input name="clientIp" type="text" class="form-control" value="${log.clientIp}"/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code="serverip"/></label>
<input name="serverIp" type="text" class="form-control" value="${log.serverIp}"/>
</div>
</div>
</div>
</div>
</form:form>
</div>
<div class="table-responsive">
<sys:message content="${message}"/>
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
<thead>
<tr>
<th><spring:message code="cfg_id" /></th>
<th><spring:message code="entrance_id" /></th>
<th><spring:message code="action" /></th>
<th><spring:message code="direct" /></th>
<th><spring:message code="found_time" /></th>
<th><spring:message code="recv_time" /></th>
<th><spring:message code="protocol_type" /></th>
<th><spring:message code="addr_type" /></th>
<th><spring:message code="serverip" /></th>
<th><spring:message code="clientip" /></th>
<th><spring:message code="serverport" /></th>
<th><spring:message code="clientport" /></th>
<th><spring:message code="deviceid" /></th>
<th><spring:message code="stream_type" /></th>
<th><spring:message code="clj_ip" /></th>
<th><spring:message code="nest_addr_list" /></th>
<th><spring:message code="user_region" /></th>
<th><spring:message code="version" /></th>
<th>SNI</th>
<th>SAN</th>
<th>CA</th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list}" var="log" varStatus="status" step="1">
<tr>
<td>${log.cfgId}</td>
<td>${log.entranceId}</td>
<td>
<c:if test="${log.action eq 1 }"><spring:message code="action_monit"/></c:if>
<c:if test="${log.action eq 16 }"><spring:message code="action_reject"/></c:if>
</td>
<td>
<c:forEach items="${fns:getDictList('DIRECTION')}" var="dict">
<c:if test="${log.direction==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.foundTime }</td>
<td>${log.recvTime }</td>
<td>
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
<c:if test="${log.protocol==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="dict">
<c:if test="${log.addrType==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.serverIp}</td>
<td>${log.clientIp}</td>
<td>${log.serverPort}</td>
<td>${log.clientPort}</td>
<td>${log.deviceId}</td>
<td>
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="dict">
<c:if test="${log.streamType==dict.itemCode}"><spring:message code="${dict.itemValue }"/></c:if>
</c:forEach>
</td>
<td>${log.cljIp}</td>
<td>${log.nestAddrList}</td>
<td>${log.userRegion}</td>
<td>${log.version}</td>
<td>${log.sni}</td>
<td>${log.san}</td>
<td>${log.ca}</td>
</tr>
</c:forEach>
</tbody>
</table><div class="page">${page}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -1,7 +1,6 @@
/***
sysDict serviceDict
***/
***/