diff --git a/src/main/java/com/nis/domain/log/NtcConnRecordLog.java b/src/main/java/com/nis/domain/log/NtcConnRecordLog.java new file mode 100644 index 000000000..53076b4f7 --- /dev/null +++ b/src/main/java/com/nis/domain/log/NtcConnRecordLog.java @@ -0,0 +1,43 @@ +package com.nis.domain.log; + +public class NtcConnRecordLog extends BaseLogEntity { + + 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; + } + +} diff --git a/src/main/java/com/nis/util/Constants.java b/src/main/java/com/nis/util/Constants.java index da6769de8..c727dd41d 100644 --- a/src/main/java/com/nis/util/Constants.java +++ b/src/main/java/com/nis/util/Constants.java @@ -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",""); } diff --git a/src/main/java/com/nis/web/controller/log/ntc/NtcConnRecordLogController.java b/src/main/java/com/nis/web/controller/log/ntc/NtcConnRecordLogController.java new file mode 100644 index 000000000..f0ccc480b --- /dev/null +++ b/src/main/java/com/nis/web/controller/log/ntc/NtcConnRecordLogController.java @@ -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 page = new PageLog(request, response); + Map params = new HashMap(); + params.put("pageSize", page.getPageSize()); + params.put("pageNo", page.getPageNo()); + initLogSearchValue(log, params); + + List serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId()); + model.addAttribute("serviceList", serviceList); + List 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 fromJson = gson.fromJson(recv, new TypeToken>(){}.getType()); + if (fromJson.getStatus().intValue() == 200) { + Page data = fromJson.getData(); + page.setCount(data.getCount()); + page.setLast(data.getLast()); + page.setList(data.getList()); + /*List 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"; + } + +} diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index ead27c0fe..4c221ff23 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -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 @@ -1366,4 +1366,5 @@ framed_ip=Framed IP Address 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. \ No newline at end of file +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 \ No newline at end of file diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index db459d739..a6b16e4d4 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -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 @@ -1370,4 +1370,5 @@ framed_ip=Framed IP Address 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 «\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 URL» \u0434\u043B\u044F \u043F\u043E\u0434\u0430\u0432\u0448\u0435\u0433\u043E \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430. \ No newline at end of file +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 «\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 URL» \u0434\u043B\u044F \u043F\u043E\u0434\u0430\u0432\u0448\u0435\u0433\u043E \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430. +conn_record=Connection Records \ No newline at end of file diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index d507cd5d5..e39f74542 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -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 @@ -1366,4 +1366,5 @@ framed_ip=Framed IP Address 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 \ No newline at end of file +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 \ No newline at end of file diff --git a/src/main/resources/nis.properties b/src/main/resources/nis.properties index f8ebfbee7..5b5ddc7f9 100644 --- a/src/main/resources/nis.properties +++ b/src/main/resources/nis.properties @@ -583,4 +583,5 @@ redis.timeout=10000 dns_spoofing_ip_desc=Default Spoofing IP dns_spoofing_ip_ip=1.1.1.1 trafficBandwidthTransTwo=trafficBandwidthTransTwo -ntcCollectRadiusLog=ntcCollectRadiusLogs \ No newline at end of file +ntcCollectRadiusLog=ntcCollectRadiusLogs +ntcConnRecordLog=ntcConnRecordLogs \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/log/ntc/connRecordLogList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/connRecordLogList.jsp new file mode 100644 index 000000000..b8c9cde30 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/log/ntc/connRecordLogList.jsp @@ -0,0 +1,355 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + + + IP<spring:message code="log"></spring:message> + + + + + +
+ +

+ +

+ +
+
+
+
+ + + + + + + + + +
+ <%--
+ + + + + + + + + + +
--%> +
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + +
+
+ +
+
+ + + + + + + +
+
+ +
+
+ + + + + + + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+ <%--
+
+ + +
+
--%> +
+ +
+
+ +
+ + + + + + <%-- + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ <%-- â–· --%> + + ${log.cfgId } + ${log.action } + + + ${dict.itemValue} + + + + ${log.foundTime }${log.recvTime } + ${log.entranceId } + + + ${dic.itemValue} + + + + + ${log.appLabel } + + + ${dict.item} + + + + ${log.c2sPktNum }${log.s2cPktNum }${log.c2sByteNum }${log.s2cByteNum }${fns:abbr(log.capIp, 42)} + ${log.transProto } + + + ${dic.itemValue} + + + + + ${log.addrType } + + + ${dic.itemValue} + + + + ${fns:abbr(log.dIp, 42)}${fns:abbr(log.sIp, 42)}${log.dPort }${log.sPort } + ${log.deviceId } + + + ${device.itemValue} + + + + + ${log.linkId } + + + ${link.itemValue} + + + + + ${log.encapType } + + + ${encapType.itemValue} + + + + + ${log.direction } + + + ${direction.itemValue} + + + + ${log.innerSmac }${log.innerDmac } + ${log.streamDir } + + + ${streamType.itemValue} + + + + ${log.addrList }${log.serverLocate}${log.clientLocate}${log.sAsn}${log.dAsn}${log.sSubscribeId}${log.dSubscribeId}${log.userRegion}${log.sceneFile}
+
${page}
+
+
+
+
+
+ + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/log/ntc/ddosList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/ddosList.jsp index 455e042e8..44986de78 100644 --- a/src/main/webapp/WEB-INF/views/log/ntc/ddosList.jsp +++ b/src/main/webapp/WEB-INF/views/log/ntc/ddosList.jsp @@ -94,6 +94,19 @@ $(document).ready(function(){
+
+ + + + + + + + + + +