summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
author段冬梅 <[email protected]>2018-12-12 14:23:50 +0800
committer段冬梅 <[email protected]>2018-12-12 14:23:50 +0800
commitb8a160b6964040004c189a946cd10cf0fc53da74 (patch)
treef58792de2963c6a4ed78a07cafcb210acb8345cd /src/main/java
parent24d2bcbf538fb05f67e59a843be8da8813759ecf (diff)
摘要增加查询配置信息方法
最新登录界面提交 流量统计带宽详情增加地域区分图表显示 增加时间范围查询,协议类型码表无对应数据则取app码表 ip地址池名称校验更改 日志增加查配置功能,common.js $("a[name=viewLogInfo]>i").on("click",function(){暂不开放此功能 home.jsp增加dns欺骗ip无策略-默认组-ip初始化连接
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/nis/util/Constants.java5
-rw-r--r--src/main/java/com/nis/web/controller/BaseController.java2
-rw-r--r--src/main/java/com/nis/web/controller/LoginController.java39
-rw-r--r--src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java31
-rw-r--r--src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java31
-rw-r--r--src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java39
-rw-r--r--src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java18
-rw-r--r--src/main/java/com/nis/web/controller/dashboard/DashboardController.java9
-rw-r--r--src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java75
-rw-r--r--src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.java1
-rw-r--r--src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml16
-rw-r--r--src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.java2
-rw-r--r--src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.xml11
-rw-r--r--src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.java5
-rw-r--r--src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.xml28
-rw-r--r--src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java73
-rw-r--r--src/main/java/com/nis/web/service/configuration/IpAddrPoolCfgService.java2
-rw-r--r--src/main/java/com/nis/web/service/configuration/IpMultiplexService.java8
18 files changed, 379 insertions, 16 deletions
diff --git a/src/main/java/com/nis/util/Constants.java b/src/main/java/com/nis/util/Constants.java
index 27d325e..8139d72 100644
--- a/src/main/java/com/nis/util/Constants.java
+++ b/src/main/java/com/nis/util/Constants.java
@@ -698,6 +698,7 @@ public final class Constants {
public static final String TRAFFIC_IPACTIVE_ONEHOUR=Configurations.getStringProperty("trafficIpActiveOneHour","trafficIpActiveOneHour");
public static final String NTC_RADIUS_REPORT=Configurations.getStringProperty("ntcRadiusReport","ntcRadiusReport");
public static final String TRAFFIC_BANDWIDTH_TRANS=Configurations.getStringProperty("trafficBandwidthTrans","trafficBandwidthTrans");
+ public static final String TRAFFIC_BANDWIDTH_TRANS_TWO=Configurations.getStringProperty("trafficBandwidthTransTwo","trafficBandwidthTransTwo");
public static final String TRAFFIC_PROTOCOL_LIST=Configurations.getStringProperty("trafficProtocolList","trafficProtocolList");
public static final String TRAFFIC_APP_LIST=Configurations.getStringProperty("trafficAppList","trafficAppList");
public static final String NTC_ACTION_ENTRANCE_REPORT=Configurations.getStringProperty("ntcActionEntranceReport","ntcActionEntranceReport");
@@ -761,4 +762,8 @@ public final class Constants {
//日志查询接口URL
public static final String IR_SNAT_LOG = Configurations.getStringProperty("irSnatLog","");
public static final String IR_DNAT_LOG = Configurations.getStringProperty("irDnatLog","");
+
+ //日志查询接口URL
+ 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","");
}
diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java
index c956e95..acd3d81 100644
--- a/src/main/java/com/nis/web/controller/BaseController.java
+++ b/src/main/java/com/nis/web/controller/BaseController.java
@@ -837,7 +837,7 @@ public class BaseController {
if (StringUtils.isNotBlank(entry.getIsLogTotalSearch())) {
Calendar time = Calendar.getInstance();
String searchEndTime = DateUtils.formatDateTime(time.getTime());
- time.add(Calendar.MINUTE, -5);
+ time.add(Calendar.MINUTE, -(Constants.LOG_TIME_RANGE/1000/60));
String searchStartTime = DateUtils.formatDateTime(time.getTime());
params.put("searchFoundStartTime", searchStartTime);
diff --git a/src/main/java/com/nis/web/controller/LoginController.java b/src/main/java/com/nis/web/controller/LoginController.java
index 265fba8..636f4a8 100644
--- a/src/main/java/com/nis/web/controller/LoginController.java
+++ b/src/main/java/com/nis/web/controller/LoginController.java
@@ -1,6 +1,10 @@
package com.nis.web.controller;
import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -16,11 +20,18 @@ import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.reflect.TypeToken;
import com.nis.util.Configurations;
import com.nis.util.Constants;
import com.nis.util.CookieUtil;
+import com.nis.util.StringUtil;
import com.nis.util.StringUtils;
+import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.security.IdGen;
import com.nis.web.security.SystemAuthorizingRealm.Principal;
import com.nis.web.security.UserUtils;
@@ -32,8 +43,36 @@ public class LoginController extends BaseController {
@Autowired
private SystemService systemService;
+ @RequestMapping("${adminPath}/newIndex")
+ public String newIndex(){
+ return "/newIndex";
+ }
+
/**
+ * 根据ip46,协议tcp,udp查询带宽 间隔5分钟数据
+ */
+ @RequestMapping(value="${adminPath}/newIndex/ntcEntranceReport")
+ @ResponseBody
+ public List ntcEntranceReport(){
+ Map<String, Object> fromJsonList = new HashMap<String, Object>();
+ List list = new ArrayList();
+ /*String url = "http://192.168.10.204:7777/galaxy-service/service/log/v1/ntcEntranceReport?searchBusinessType=2&searchReportStartTime=2018-07-18%2000:00:00&searchReportEndTime=2018-07-19%2000:00:00";
+ try {
+ String string = HttpClientUtil.get(url);
+ Gson gson = new GsonBuilder().create();
+ fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType());
+ logger.info("首页,间隔5分钟数据"+fromJsonList);
+ Map map = (Map) fromJsonList.get("data");
+ list = (List) map.get("list");
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ logger.error("带宽详情数据获取错误"+e);
+ }*/
+ return list;
+ }
+ /**
* 默认进入系统动作,即跳转登录操作
* @return
*/
diff --git a/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java b/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java
index 39ada2d..3e9942b 100644
--- a/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java
+++ b/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java
@@ -17,6 +17,7 @@ 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 org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
@@ -29,6 +30,8 @@ import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.configuration.DnsIpCfg;
import com.nis.domain.configuration.RequestInfo;
import com.nis.exceptions.MaatConvertException;
+import com.nis.util.AsnCacheUtils;
+import com.nis.util.CacheUtils;
import com.nis.util.Constants;
import com.nis.util.StringUtil;
import com.nis.web.controller.BaseController;
@@ -69,6 +72,34 @@ public class DnsIpCfgController extends BaseController {
return "/cfg/dnsIpCfgForm";
}
+ /**
+ * 初始化一条dns fakeip配置
+ * @return
+ */
+ @ResponseBody
+ @RequestMapping(value = {"initSpoofingIp"})
+ public String initSpoofingIp(){
+ Properties msg=getMsgProp();
+ try {
+ DnsIpCfg entity=new DnsIpCfg();
+ entity.setIsAudit(1);
+ entity.setIsValid(1);
+ entity.setDnsStrategyId(0);
+ List<DnsIpCfg> list=dnsIpCfgService.findDnsIpCfg(entity);
+ if(StringUtil.isEmpty(list)) {
+ dnsIpCfgService.saveAndAudit();
+ }
+ } catch (Exception e) {
+ logger.error("初始化Spoofing ip失败",e);
+ e.printStackTrace();
+ if(e instanceof MaatConvertException) {
+ return msg.getProperty("request_service_failed");
+ }else {
+ return msg.getProperty("save_failed");
+ }
+ }
+ return "success";
+ }
@RequestMapping(value = {"/saveOrUpdate"})
@RequiresPermissions(value={"dns:fake:ip:config"})
public String saveOrUpdate(Model model,HttpServletRequest request
diff --git a/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java b/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java
index c58c6d5..8cf253d 100644
--- a/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java
+++ b/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java
@@ -1,5 +1,7 @@
package com.nis.web.controller.configuration.maintenance;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -25,6 +27,7 @@ import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
import com.nis.util.StringUtil;
+import com.nis.util.StringUtils;
import com.nis.web.controller.BaseController;
import com.nis.web.service.configuration.IpAddrPoolCfgService;
@@ -166,7 +169,7 @@ public class IpAddrPoolController extends BaseController{
}
/**
- * 校验所有地址池配置IP不可重复
+ * 校验所有地址池配置IP+MASK组合不可重复
* @param cfg
* @param request
* @param response
@@ -174,10 +177,28 @@ public class IpAddrPoolController extends BaseController{
*/
@ResponseBody
@RequestMapping(value = {"/checkAddrPoolIp"})
- public boolean checkAddrPoolIp(String ips, HttpServletRequest request, HttpServletResponse response){
- for (String ip : ips.split(",")) {
- Long cfgId = ipAddrPoolCfgService.checkAddrPoolIp(ip);
- if(cfgId != null){
+ public boolean checkAddrPoolIp(String ip, String oldIp, HttpServletRequest request, HttpServletResponse response){
+ List<String> oldIplist = new ArrayList<>();
+ if(StringUtils.isNotBlank(oldIp)){
+ oldIplist.add(oldIp);
+ if(oldIp.contains("/32")){
+ oldIplist.add(oldIp.substring(0, oldIp.indexOf("/")));
+ }else if(!oldIp.contains("/")){
+ oldIplist.add(oldIp+"/32");
+ }
+ }
+
+ List<String> searchlist = new ArrayList<>();
+ searchlist.add(ip);
+ if(ip.contains("/32")){
+ searchlist.add(ip.substring(0, ip.indexOf("/")));
+ }else if(!ip.contains("/")){
+ searchlist.add(ip+"/32");
+ }
+
+ for (String searchIp : searchlist) {
+ IpReuseIpCfg cfg = ipAddrPoolCfgService.checkAddrPoolIp(searchIp);
+ if((cfg != null) && (!oldIplist.contains(cfg.getSrcIpAddress()))){
return false;
}
}
diff --git a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java
index d566f62..6f8e36c 100644
--- a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java
+++ b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java
@@ -234,6 +234,45 @@ public class IpMultiplexController extends CommonController {
return "redirect:" + adminPath +"/manipulation/ipmulitiplex/snatPolicyList?functionId="+functionId;
}
+
+ @RequestMapping(value = {"/ajaxSnatInfo"})
+ public String ajaxSnatInfo(Model model,Long cfgId,Integer index,Integer compileId) {
+ IpReusePolicyCfg cfg = ipMultiplexService.getSnatCfg(cfgId, compileId);
+ List<String[]> tabList = new ArrayList();
+ String cfgType = null;
+ if(!cfg.getCfgType().equals(cfgType)){
+ tabList.add(new String[]{"1",cfg.getCfgType()});
+ cfgType = cfg.getCfgType();
+ }
+
+ List<UserManage> users = userManageService.findUsers();
+ List<IpAddrPoolCfg> addrPools = ipAddrPoolCfgService.getEffectiveAddrPool();
+ model.addAttribute("users", users);
+ model.addAttribute("addrPools", addrPools);
+ model.addAttribute("_cfg", cfg);
+ model.addAttribute("index", index);
+ model.addAttribute("tabList", tabList);
+ return "/cfg/manipulation/ipmulitiplex/snatSubList";
+ }
+
+
+
+ @RequestMapping(value = {"/ajaxDnatInfo"})
+ public String ajaxDnatInfo(Model model,Long cfgId,Integer index,Integer compileId) {
+ IpReuseDnatPolicyCfg cfg = ipMultiplexService.getDnatCfg(cfgId, compileId);
+ List<String[]> tabList = new ArrayList();
+ String cfgType = null;
+ if(!cfg.getCfgType().equals(cfgType)){
+ tabList.add(new String[]{"1",cfg.getCfgType()});
+ cfgType = cfg.getCfgType();
+ }
+ model.addAttribute("_cfg", cfg);
+ model.addAttribute("index", index);
+ model.addAttribute("tabList", tabList);
+ return "/cfg/manipulation/ipmulitiplex/dnatSubList";
+ }
+
+
/**
* 异步获取地址池信息
* @param request
diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java
index 2a69634..c62bd2f 100644
--- a/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java
+++ b/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java
@@ -371,6 +371,24 @@ public class FileTransferCfgController extends BaseController{
return "/cfg/fileTransfer/fileDigestSubList";
}
+ @RequestMapping(value = {"ajaxFileDigestLogSubIdList"})
+ public String ajaxFileDigestLogSubIdList(Model model,Long cfgId,Integer index,Integer compileId) {
+ FileDigestCfg cfg = fileTransferCfgService.getFileDigestSubIdCfg(cfgId,compileId);
+ List<String[]> tabList = new ArrayList();
+ String cfgType = null;
+ if(!cfg.getCfgType().equals(cfgType)){
+ tabList.add(new String[]{"1",cfg.getCfgType()});
+ cfgType = cfg.getCfgType();
+ }
+ model.addAttribute("_cfg", cfg);
+ model.addAttribute("index", index);
+ model.addAttribute("tabList", tabList);
+ return "/cfg/fileTransfer/fileDigestLogSubList";
+ }
+
+
+
+
@RequestMapping(value = {"p2pList"})
public String p2pList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
diff --git a/src/main/java/com/nis/web/controller/dashboard/DashboardController.java b/src/main/java/com/nis/web/controller/dashboard/DashboardController.java
index 4b8803c..51b24a5 100644
--- a/src/main/java/com/nis/web/controller/dashboard/DashboardController.java
+++ b/src/main/java/com/nis/web/controller/dashboard/DashboardController.java
@@ -233,6 +233,7 @@ public class DashboardController extends BaseController{
list = (List<Map>) fromJsonList.get("data");
//标签集合
List<CodeResult> codeList = CodeDicUtils.getCodeList("protocolCode");
+ List<CodeResult> appCodeList = CodeDicUtils.getCodeList("appCode");
//将数字替换为标签文字
if(list!=null&&!list.isEmpty()){
for (Map map : list) {
@@ -244,6 +245,14 @@ public class DashboardController extends BaseController{
break;
}
}
+ // 协议没匹配的匹配app码表
+ for (CodeResult code : appCodeList) {
+ Double value3 = Double.valueOf(code.getCode());
+ if(value1.equals(value3)){
+ map.put("protoType", code.getItem());
+ break;
+ }
+ }
resultList.add(map);
}
logger.debug("协议统计"+fromJsonList);
diff --git a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java
index 754ff3c..e90eb68 100644
--- a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java
+++ b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java
@@ -1,6 +1,7 @@
package com.nis.web.controller.dashboard;
import java.lang.reflect.Type;
+import java.net.URISyntaxException;
import java.net.URLEncoder;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
@@ -16,6 +17,7 @@ import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.http.client.utils.URIBuilder;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -34,11 +36,13 @@ import com.google.gson.LongSerializationPolicy;
import com.google.gson.reflect.TypeToken;
import com.nis.domain.PageLog;
import com.nis.domain.dashboard.TrafficIpActiveStatistic;
+import com.nis.util.CodeDicUtils;
import com.nis.util.Constants;
import com.nis.util.DateUtil;
import com.nis.util.StringUtil;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
+import com.nis.web.dao.dashboard.codedic.CodeResult;
@Controller
@RequestMapping("${adminPath}/dashboard/traffic")
@@ -111,7 +115,7 @@ public class TrafficStatisticsInfoController extends BaseController {
public String bandwidthList(Model model){
Calendar cal = Calendar. getInstance ();
cal.setTime(new Date());
- String now = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());//获取到完整的时间
+ String now = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());//获取到完整的时间
cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1);
String oneHoursAgo = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());
model.addAttribute("beginDate", oneHoursAgo);
@@ -149,12 +153,25 @@ public class TrafficStatisticsInfoController extends BaseController {
}
return resultList;
}
+ public String urlAddDate(String url,String beginDate,String endDate) throws URISyntaxException{
+ if(StringUtil.isBlank(beginDate)||StringUtil.isBlank(endDate)){
+ Calendar cal = Calendar. getInstance ();
+ cal.setTime(new Date());
+ endDate = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());//获取到完整的时间
+ cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1);
+ beginDate = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());
+ }
+ URIBuilder uriBuilder = new URIBuilder(url);
+ uriBuilder.addParameter("beginDate",beginDate);
+ uriBuilder.addParameter("endDate",endDate);
+ return uriBuilder.toString();
+ }
/**
* 根据ip46,协议tcp,udp查询带宽 间隔5分钟数据
*/
@RequestMapping(value="bandwidthTrans")
@ResponseBody
- public Map ipActiveMinuteList(@RequestParam("addrType")String addrType,@RequestParam("transType")Integer transType){
+ public Map bandwidthTrans(String beginDate,String endDate,@RequestParam("addrType")String addrType,@RequestParam("transType")Integer transType){
Map<String, Object> fromJsonList = new HashMap<String, Object>();
Map map = new HashMap();
String url = Constants.DASHBOARD_URL+Constants.TRAFFIC_BANDWIDTH_TRANS;
@@ -165,6 +182,41 @@ public class TrafficStatisticsInfoController extends BaseController {
url=url+"?transType="+transType;
}
try {
+ url=urlAddDate(url,beginDate,endDate);
+
+ String string = HttpClientUtil.get(url);
+ Gson gson = new GsonBuilder().create();
+ fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType());
+ logger.debug("带宽1小时,间隔5分钟数据"+fromJsonList);
+ List list = (ArrayList) fromJsonList.get("data");
+ if(!StringUtil.isEmpty(list)){
+ map=(Map) list.get(0);
+ }
+ return map;
+ } catch (Exception e) {
+ e.printStackTrace();
+ logger.error("带宽详情数据获取错误"+e);
+ }
+ return map;
+ }
+ /**
+ * 根据ip46,协议tcp,udp查询带宽 间隔5分钟数据
+ */
+ @RequestMapping(value="bandwidthTransTwo")
+ @ResponseBody
+ public Map bandwidthTransTwo(String beginDate,String endDate,@RequestParam("addrType")String addrType,@RequestParam("transType")Integer transType){
+ Map<String, Object> fromJsonList = new HashMap<String, Object>();
+ Map map = new HashMap();
+ String url = Constants.DASHBOARD_URL+Constants.TRAFFIC_BANDWIDTH_TRANS_TWO;
+ if(!StringUtil.isBlank(addrType)){
+ url=url+"?addrType="+addrType;
+ }
+ if(transType!=null){
+ url=url+"?transType="+transType;
+ }
+ try {
+ url=urlAddDate(url,beginDate,endDate);
+
String string = HttpClientUtil.get(url);
Gson gson = new GsonBuilder().create();
fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType());
@@ -184,7 +236,14 @@ public class TrafficStatisticsInfoController extends BaseController {
* 协议类型详细列表
*/
@RequestMapping(value="protocolTypeList")
- public String protocolTypeList(){
+ public String protocolTypeList(Model model){
+ Calendar cal = Calendar. getInstance ();
+ cal.setTime(new Date());
+ String now = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());//获取到完整的时间
+ cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1);
+ String oneHoursAgo = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());
+ model.addAttribute("searchFoundStartTime", oneHoursAgo);
+ model.addAttribute("searchFoundEndTime", now);
return "/dashboard/trafficProtocolTypeList";
}
/**
@@ -212,9 +271,11 @@ public class TrafficStatisticsInfoController extends BaseController {
Double totalGByte=0d;
DecimalFormat lf = new DecimalFormat("0");
DecimalFormat df = new DecimalFormat("0.00000000");
+ List<CodeResult> appCodeList = CodeDicUtils.getCodeList("appCode");
if(!StringUtil.isEmpty(list)){
for (Object object : list) {
Map m=(Map) object;
+ Double value1 = Double.parseDouble(m.get("protocolType").toString());
totalGByte+=Double.parseDouble(m.get("GByte").toString());
// String linkNum = df.format(m.get("linkNum"));
m.put("GByte", df.format(m.get("GByte")));
@@ -222,6 +283,14 @@ public class TrafficStatisticsInfoController extends BaseController {
m.put("linkNum", lf.format(m.get("linkNum")));
totalLink+=Long.parseLong( m.get("linkNum").toString());
totalPackets+=Long.parseLong(m.get("packets").toString());
+ // 协议没匹配的匹配app码表
+ for (CodeResult code : appCodeList) {
+ Double value3 = Double.valueOf(code.getCode());
+ if(value1.equals(value3)){
+ m.put("protocolType", code.getItem());
+ break;
+ }
+ }
}
for (Object object : list) {
Map m=(Map) object;
diff --git a/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.java b/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.java
index 1067c95..2f8fead 100644
--- a/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.java
+++ b/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.java
@@ -12,4 +12,5 @@ import com.nis.web.dao.MyBatisDao;
public interface DnsIpCfgDao extends CrudDao<DnsIpCfg> {
List<DnsIpCfg> findPage(DnsIpCfg dnsIpCfg);
DnsIpCfg getDnsIpCfg(Long cfgId);
+ List<DnsIpCfg> findDnsIpCfg(DnsIpCfg entity);
}
diff --git a/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml
index 79f4609..0fc449c 100644
--- a/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml
+++ b/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml
@@ -186,6 +186,22 @@
from dns_ip_cfg r
where r.cfg_id=#{cfgId}
</select>
+ <select id="findDnsIpCfg" resultMap="dnsIpCfgMap">
+ select
+ <include refid="columns"></include>
+ from dns_ip_cfg r
+ <where>
+ <if test="isAudit != null">
+ AND r.is_audit=#{isAudit,jdbcType=INTEGER}
+ </if>
+ <if test="isValid != null">
+ AND r.is_valid=#{isValid,jdbcType=INTEGER}
+ </if>
+ <if test="dnsStrategyId != null">
+ AND r.dns_strategy_id=#{dnsStrategyId,jdbcType=INTEGER}
+ </if>
+ </where>
+ </select>
<insert id="insert" parameterType="com.nis.domain.configuration.DnsIpCfg" >
insert into dns_ip_cfg (
diff --git a/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.java b/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.java
index 39cda87..a31492f 100644
--- a/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.java
+++ b/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.java
@@ -35,7 +35,7 @@ public interface IpAddrPoolCfgDao extends CrudDao<IpAddrPoolCfgDao>{
Long getAddrPoolIdByName(String addrPoolName);
- Long checkAddrPoolIp(@Param("srcIpAddress")String ip);
+ IpReuseIpCfg checkAddrPoolIp(@Param("srcIpAddress")String ip);
diff --git a/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.xml
index 2b59b14..1134253 100644
--- a/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.xml
+++ b/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.xml
@@ -475,15 +475,18 @@
FROM
ip_reuse_addr_pool r
WHERE
- r.addr_pool_name = #{addrPoolName} AND r.is_valid != -1
+ r.addr_pool_name = #{addrPoolName} AND r.is_valid != -1 AND r.is_audit != 3
</select>
- <select id="checkAddrPoolIp" resultType="java.lang.Long">
+ <select id="checkAddrPoolIp" resultType="com.nis.domain.basics.IpReuseIpCfg">
SELECT
- r.cfg_id
+ r.cfg_id,r.src_ip_address
FROM
ip_reuse_ip_cfg r
WHERE
- r.src_ip_address = #{srcIpAddress} AND r.is_valid != -1 AND r.is_audit != 3
+ r.src_ip_address = #{srcIpAddress} AND
+ r.is_valid != -1 AND
+ r.is_audit != 3 AND
+ r.user_region1 IS NOT NULL
</select>
</mapper> \ No newline at end of file
diff --git a/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.java b/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.java
index 02f7d55..4e7d6d9 100644
--- a/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.java
+++ b/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.java
@@ -40,5 +40,8 @@ public interface IpMultiplexDao extends CrudDao<IpMultiplexDao>{
List<BaseIpCfg> findPageDnat(IpReuseDnatPolicyCfg entity);
List<IpReuseDnatPolicyCfg> findDnatList(@Param("cfgId")Long cfgId, @Param("isValid")Integer isValid);
-
+
+ IpReusePolicyCfg getSnatCfg(@Param("cfgId")Long cfgId,@Param("compileId")Integer compileId);
+
+ IpReuseDnatPolicyCfg getDnatCfg(@Param("cfgId")Long cfgId,@Param("compileId")Integer compileId);
}
diff --git a/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.xml b/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.xml
index 34ea2d5..c72340a 100644
--- a/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.xml
+++ b/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.xml
@@ -711,4 +711,32 @@
</where>
ORDER BY a.cfg_id
</select>
+
+ <select id="getSnatCfg" resultMap="policyMap">
+ select
+ <include refid="policyColumns"></include>
+ from ip_reuse_policy_cfg r
+ <where>
+ <if test="cfgId !=null">
+ r.CFG_ID = #{cfgId,jdbcType=BIGINT}
+ </if>
+ <if test="compileId != null">
+ AND r.COMPILE_ID=#{compileId,jdbcType=INTEGER}
+ </if>
+ </where>
+ </select>
+
+ <select id="getDnatCfg" resultMap="dnatPolicyMap">
+ select
+ <include refid="dnatPolicyColumns"></include>
+ from ip_reuse_dnat_policy a
+ <where>
+ <if test="cfgId !=null">
+ a.CFG_ID = #{cfgId,jdbcType=BIGINT}
+ </if>
+ <if test="compileId != null">
+ AND a.COMPILE_ID=#{compileId,jdbcType=INTEGER}
+ </if>
+ </where>
+ </select>
</mapper> \ No newline at end of file
diff --git a/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java b/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java
index 9768432..0efa7f5 100644
--- a/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java
+++ b/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java
@@ -21,6 +21,7 @@ import com.nis.domain.configuration.DnsIpCfg;
import com.nis.domain.maat.ToMaatResult;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
+import com.nis.util.Constants;
import com.nis.web.dao.configuration.DnsIpCfgDao;
import com.nis.web.security.UserUtils;
import com.nis.web.service.BaseService;
@@ -47,6 +48,9 @@ public class DnsIpCfgService extends BaseService{
return page;
}
+ public List<DnsIpCfg> findDnsIpCfg(DnsIpCfg entity) {
+ return dnsIpCfgDao.findDnsIpCfg(entity);
+ }
public DnsIpCfg getDnsIpCfg(Long cfgId) {
return dnsIpCfgDao.getDnsIpCfg(cfgId);
}
@@ -115,6 +119,75 @@ public class DnsIpCfgService extends BaseService{
dnsIpCfgDao.update(entity);
}
}
+ @Transactional(readOnly=false,rollbackFor=RuntimeException.class)
+ public void saveAndAudit(){
+ DnsIpCfg dnsIp=new DnsIpCfg();
+ dnsIp.setIpType(4);
+ dnsIp.setDirection(0);
+ dnsIp.setProtocolId(0);
+ dnsIp.setProtocol(0);
+ dnsIp.setIsValid(1);
+ dnsIp.setIsAudit(1);
+ dnsIp.setRequestId(0);
+ dnsIp.setClassify("0");
+ dnsIp.setAttribute("0");
+ dnsIp.setLable("0");
+ dnsIp.setFunctionId(401);
+ dnsIp.setCfgRegionCode(1);
+ dnsIp.setCfgType("dns_fake_ip");
+ dnsIp.setIpPattern(3);
+ dnsIp.setSrcIpAddress("0.0.0.0");
+ dnsIp.setDestPort("0");
+ dnsIp.setSrcPort("0");
+ dnsIp.setPortPattern(1);
+ dnsIp.setDnsStrategyId(0);
+ dnsIp.setAction(16);
+ dnsIp.setServiceId(64);
+ dnsIp.setIsAreaEffective(0);
+ dnsIp.setAreaEffectiveIds("");
+ dnsIp.setCreateTime(new Date());
+ dnsIp.setCreatorId(UserUtils.getUser().getId());
+ dnsIp.setAuditorId(UserUtils.getUser().getId());
+ dnsIp.setAuditTime(new Date());
+ dnsIp.setCfgDesc(Constants.DNS_SPOOFING_IP_DESC);
+ dnsIp.setDestIpAddress(Constants.DNS_SPOOFING_IP_IP);
+ //调用服务接口获取compileId
+ List<Integer> compileIds = new ArrayList<Integer>();
+ try {
+ compileIds = ConfigServiceUtil.getId(1,1);
+ } catch (Exception e) {
+ e.printStackTrace();
+ logger.info("获取编译ID出错");
+ throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+e.getMessage());
+ }
+ if(compileIds != null && compileIds.size() >0 && compileIds.get(0) != 0){
+ dnsIp.setCompileId(compileIds.get(0));
+
+ }else{
+ throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>");
+ }
+
+ dnsIpCfgDao.insert(dnsIp);
+
+ String json="";
+ List<InlineIp> resStrategyList=new ArrayList<InlineIp>();
+ InlineIp resStrategy=convertCallBackIp(dnsIp,dnsIp.getDnsStrategyId());
+ resStrategyList.add(resStrategy);
+ //调用服务接口下发配置数据
+ json=gsonToJson(resStrategyList);
+ logger.info("DNS欺骗ip配置下发配置参数:"+json);
+ //调用服务接口下发配置
+ try {
+ ToMaatResult result = ConfigServiceUtil.postCallbackCfg(json);
+ if(result!=null){
+ logger.info("DNS欺骗ip配置下发响应信息:"+result.getMsg());
+ }
+ } catch (Exception e) {
+ logger.error("DNS欺骗ip配置下发失败",e);
+ throw e;
+ }
+
+ }
/**
*
* @param isAudit
diff --git a/src/main/java/com/nis/web/service/configuration/IpAddrPoolCfgService.java b/src/main/java/com/nis/web/service/configuration/IpAddrPoolCfgService.java
index 8ede5c5..eadb57e 100644
--- a/src/main/java/com/nis/web/service/configuration/IpAddrPoolCfgService.java
+++ b/src/main/java/com/nis/web/service/configuration/IpAddrPoolCfgService.java
@@ -288,7 +288,7 @@ public class IpAddrPoolCfgService extends BaseService{
return ipAddrPoolCfgDao.findAddrPoolCfg();
}
- public Long checkAddrPoolIp(String ip) {
+ public IpReuseIpCfg checkAddrPoolIp(String ip) {
return ipAddrPoolCfgDao.checkAddrPoolIp(ip);
}
diff --git a/src/main/java/com/nis/web/service/configuration/IpMultiplexService.java b/src/main/java/com/nis/web/service/configuration/IpMultiplexService.java
index c6cc5e5..fb42313 100644
--- a/src/main/java/com/nis/web/service/configuration/IpMultiplexService.java
+++ b/src/main/java/com/nis/web/service/configuration/IpMultiplexService.java
@@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional;
import com.beust.jcommander.internal.Lists;
import com.nis.domain.Page;
import com.nis.domain.configuration.BaseIpCfg;
+import com.nis.domain.configuration.DdosIpCfg;
import com.nis.domain.configuration.IpReuseDnatPolicyCfg;
import com.nis.domain.configuration.IpReusePolicyCfg;
import com.nis.domain.maat.ToMaatResult;
@@ -308,4 +309,11 @@ public class IpMultiplexService extends BaseService{
}
}
+ public IpReusePolicyCfg getSnatCfg(Long cfgId,Integer compileId) {
+ return ipMultiplexDao.getSnatCfg(cfgId,compileId);
+ }
+
+ public IpReuseDnatPolicyCfg getDnatCfg(Long cfgId,Integer compileId) {
+ return ipMultiplexDao.getDnatCfg(cfgId,compileId);
+ }
}