欺骗ip配置(未走maat)

This commit is contained in:
chenjinsong
2018-03-22 14:41:10 +08:00
parent 6e373f513b
commit 659dc9fc2c
14 changed files with 1333 additions and 120 deletions

View File

@@ -1,29 +1,35 @@
/**
*@Title: DnsIpConfig.java
*@Package com.nis.domain.restful
*@Description TODO
*@Description 欺骗IP实体类
*@author dell
*@date 2018年2月5日 下午2:57:17
*@version 版本号
*/
package com.nis.domain.configuration;
import java.util.Date;
import com.nis.domain.BaseEntity;
import com.nis.domain.SysUser;
/**
* @ClassName: DnsIpConfig.java
* @Description: TODO
* @author (dell)
* @date 2018年2月5日 下午2:57:17
* @version V1.0
*/
public class DnsIpCfg extends BaseCfg<DnsIpCfg> {
public class DnsIpCfg extends BaseEntity<DnsIpCfg> {
/**
* @Fields serialVersionUID:TODO用一句话描述这个变量表示什么
*
* @since 1.0.0
*/
private static final long serialVersionUID = -4476190616323264876L;
/**
* 配置ID
*/
private Long cfgId;
/**
* 配置描述
*/
private String cfgDesc;
/**
* ip类型
*/
@@ -69,171 +75,257 @@ public class DnsIpCfg extends BaseCfg<DnsIpCfg> {
*/
private Integer protocol ;
/**
* ipType
* @return ipType
*/
* 有效标识
*/
private Integer isValid;
/**
* 是否审核
*/
private Integer isAudit;
/**
* 创建人
*/
private SysUser creator;
/**
* 创建时间
*/
private Date createTime;
/**
* 最后修改人
*/
private SysUser editor;
/**
* 最后修改时间
*/
private Date editTime;
/**
* 审核人
*/
private SysUser auditor;
/**
* 审核时间
*/
private Date auditTime;
/**
* 来函
*/
private RequestInfo request;
/**
* 欺骗id
*/
private Integer fakeId;
/**
* 分类
*/
private String classify;
/**
* 性质
*/
private String attribute;
/**
* 标签
*/
private String lable;
public Long getCfgId() {
return cfgId;
}
public void setCfgId(Long cfgId) {
this.cfgId = cfgId;
}
public String getCfgDesc() {
return cfgDesc;
}
public void setCfgDesc(String cfgDesc) {
this.cfgDesc = cfgDesc;
}
public Integer getIpType() {
return ipType;
}
/**
* @param ipType the ipType to set
*/
public void setIpType(Integer ipType) {
this.ipType = ipType;
}
/**
* srcIp
* @return srcIp
*/
public String getSrcIp() {
return srcIp;
}
/**
* @param srcIp the srcIp to set
*/
public void setSrcIp(String srcIp) {
this.srcIp = srcIp;
}
/**
* srcIpMask
* @return srcIpMask
*/
public String getSrcIpMask() {
return srcIpMask;
return srcIpMask;
}
/**
* @param srcIpMask the srcIpMask to set
*/
public void setSrcIpMask(String srcIpMask) {
this.srcIpMask = srcIpMask;
}
/**
* srcPort
* @return srcPort
*/
public String getSrcPort() {
return srcPort;
}
/**
* @param srcPort the srcPort to set
*/
public void setSrcPort(String srcPort) {
this.srcPort = srcPort;
}
/**
* srcPortMask
* @return srcPortMask
*/
public String getSrcPortMask() {
return srcPortMask;
}
/**
* @param srcPortMask the srcPortMask to set
*/
public void setSrcPortMask(String srcPortMask) {
this.srcPortMask = srcPortMask;
}
/**
* dstIp
* @return dstIp
*/
public String getDstIp() {
return dstIp;
}
/**
* @param dstIp the dstIp to set
*/
public void setDstIp(String dstIp) {
this.dstIp = dstIp;
}
/**
* dstIpMask
* @return dstIpMask
*/
public String getDstIpMask() {
return dstIpMask;
}
/**
* @param dstIpMask the dstIpMask to set
*/
public void setDstIpMask(String dstIpMask) {
this.dstIpMask = dstIpMask;
}
/**
* dstPort
* @return dstPort
*/
public String getDstPort() {
return dstPort;
}
/**
* @param dstPort the dstPort to set
*/
public void setDstPort(String dstPort) {
this.dstPort = dstPort;
}
/**
* dstPortMask
* @return dstPortMask
*/
public String getDstPortMask() {
return dstPortMask;
}
/**
* @param dstPortMask the dstPortMask to set
*/
public void setDstPortMask(String dstPortMask) {
this.dstPortMask = dstPortMask;
}
/**
* direction
* @return direction
*/
public Integer getDirection() {
return direction;
}
/**
* @param direction the direction to set
*/
public void setDirection(Integer direction) {
this.direction = direction;
}
/**
* protocol
* @return protocol
*/
public Integer getProtocol() {
return protocol;
}
/**
* @param protocol the protocol to set
*/
public void setProtocol(Integer protocol) {
this.protocol = protocol;
}
/* (non-Javadoc)
* @see com.nis.domain.configuration.BaseCfg#initDefaultValue()
*/
@Override
public void initDefaultValue() {
// TODO Auto-generated method stub
super.initDefaultValue();
this.srcIp ="0.0.0.0";
this.srcPortMask = "65535" ;
this.dstIp = "0.0.0.0" ;
this.dstPortMask = "65535";
this.direction = 0;
public Integer getIsValid() {
return isValid;
}
public void setIsValid(Integer isValid) {
this.isValid = isValid;
}
public Integer getIsAudit() {
return isAudit;
}
public void setIsAudit(Integer isAudit) {
this.isAudit = isAudit;
}
public SysUser getCreator() {
return creator;
}
public void setCreator(SysUser creator) {
this.creator = creator;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public SysUser getEditor() {
return editor;
}
public void setEditor(SysUser editor) {
this.editor = editor;
}
public Date getEditTime() {
return editTime;
}
public void setEditTime(Date editTime) {
this.editTime = editTime;
}
public SysUser getAuditor() {
return auditor;
}
public void setAuditor(SysUser auditor) {
this.auditor = auditor;
}
public Date getAuditTime() {
return auditTime;
}
public void setAuditTime(Date auditTime) {
this.auditTime = auditTime;
}
public RequestInfo getRequest() {
return request;
}
public void setRequest(RequestInfo request) {
this.request = request;
}
public Integer getFakeId() {
return fakeId;
}
public void setFakeId(Integer fakeId) {
this.fakeId = fakeId;
}
public String getClassify() {
return classify;
}
public void setClassify(String classify) {
this.classify = classify;
}
public String getAttribute() {
return attribute;
}
public void setAttribute(String attribute) {
this.attribute = attribute;
}
public String getLable() {
return lable;
}
public void setLable(String lable) {
this.lable = lable;
}
private Date searchCreateTimeStart;
private Date searchCreateTimeEnd;
private Date searchEditTimeStart;
private Date searchEditTimeEnd;
private Date searchAuditTimeStart;
private Date searchAuditTimeEnd;
public Date getSearchCreateTimeStart() {
return searchCreateTimeStart;
}
public void setSearchCreateTimeStart(Date searchCreateTimeStart) {
this.searchCreateTimeStart = searchCreateTimeStart;
}
public Date getSearchCreateTimeEnd() {
return searchCreateTimeEnd;
}
public void setSearchCreateTimeEnd(Date searchCreateTimeEnd) {
this.searchCreateTimeEnd = searchCreateTimeEnd;
}
public Date getSearchEditTimeStart() {
return searchEditTimeStart;
}
public void setSearchEditTimeStart(Date searchEditTimeStart) {
this.searchEditTimeStart = searchEditTimeStart;
}
public Date getSearchEditTimeEnd() {
return searchEditTimeEnd;
}
public void setSearchEditTimeEnd(Date searchEditTimeEnd) {
this.searchEditTimeEnd = searchEditTimeEnd;
}
public Date getSearchAuditTimeStart() {
return searchAuditTimeStart;
}
public void setSearchAuditTimeStart(Date searchAuditTimeStart) {
this.searchAuditTimeStart = searchAuditTimeStart;
}
public Date getSearchAuditTimeEnd() {
return searchAuditTimeEnd;
}
public void setSearchAuditTimeEnd(Date searchAuditTimeEnd) {
this.searchAuditTimeEnd = searchAuditTimeEnd;
}
}

View File

@@ -31,6 +31,7 @@ import com.nis.web.service.configuration.AppCfgService;
import com.nis.web.service.configuration.ComplexStringCfgService;
import com.nis.web.service.configuration.FtpCfgService;
import com.nis.web.service.configuration.IpCfgService;
import com.nis.web.service.configuration.DnsIpCfgService;
import com.nis.web.service.configuration.MailCfgService;
import com.nis.web.service.configuration.MediaCfgService;
import com.nis.web.service.configuration.NumCfgService;
@@ -74,6 +75,9 @@ public class BaseController {
@Autowired
protected IpCfgService ipCfgService;
@Autowired
protected DnsIpCfgService dnsIpCfgService;
@Autowired
protected WebCfgService webCfgService;

View File

@@ -0,0 +1,98 @@
package com.nis.web.controller.configuration;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.cxf.common.util.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 org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.domain.configuration.DnsIpCfg;
import com.nis.domain.configuration.RequestInfo;
import com.nis.util.StringUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@Controller
@RequestMapping("${adminPath}/cfg/dnsIp")
public class DnsIpCfgController extends BaseController {
@ModelAttribute
public DnsIpCfg get(Long cfgId) {
if (!StringUtil.isEmpty(cfgId)){
return dnsIpCfgService.get(cfgId);
}else{
return new DnsIpCfg();
}
}
@RequestMapping("list")
public String list(Model model, HttpServletRequest request, HttpServletResponse response, DnsIpCfg dnsIpCfg) {
Page<DnsIpCfg> page = dnsIpCfgService.findPage(new Page<DnsIpCfg>(request, response, 30), dnsIpCfg);
model.addAttribute("page", page);
addRequestAndServiceDictToModel(model);
return "/cfg/dnsIpCfgList";
}
@RequestMapping("form")
public String form(Model model, DnsIpCfg dnsIpCfg) {
addRequestAndServiceDictToModel(model);
return "/cfg/dnsIpCfgForm";
}
@RequestMapping("save")
public String save(Model model, DnsIpCfg dnsIpCfg, RedirectAttributes redirectAttributes) {
Date now = new Date();
if (dnsIpCfg.getCfgId() == null) {//新增
dnsIpCfg.setFakeId(0);
dnsIpCfg.setIsValid(1);
dnsIpCfg.setCreateTime(now);
dnsIpCfg.setCreator(UserUtils.getUser());
} else {//修改
dnsIpCfg.setEditor(UserUtils.getUser());
dnsIpCfg.setEditTime(now);
}
dnsIpCfgService.save(dnsIpCfg);
addMessage(redirectAttributes, "保存成功");
return "redirect:" + adminPath + "/cfg/dnsIp/list";
}
@RequestMapping("delete")
public String delete(Model model, String cfgIds, RedirectAttributes redirectAttributes) {
if (!StringUtils.isEmpty(cfgIds)) {
try {
dnsIpCfgService.delete(cfgIds);
addMessage(redirectAttributes, "删除成功");
} catch (Exception e) {
e.printStackTrace();
addMessage(redirectAttributes, "删除失败");
}
} else {
addMessage(redirectAttributes, "删除失败");
}
return "redirect:" + adminPath + "/cfg/dnsIp/list";
}
private void addRequestAndServiceDictToModel(Model model) {
List<RequestInfo> requestInfos = requestInfoService.getAllRequestInfo();
model.addAttribute("requestInfos", requestInfos);
List<ServiceDictInfo> fls = serviceDictInfoService.findAllFlDict();
model.addAttribute("fls", fls);
List<ServiceDictInfo> xzs = serviceDictInfoService.findAllXzDict();
model.addAttribute("xzs", xzs);
List<ServiceDictInfo> lables = serviceDictInfoService.findAllLableDict();
model.addAttribute("lables", lables);
}
}

View File

@@ -0,0 +1,10 @@
package com.nis.web.dao.configuration;
import com.nis.domain.configuration.DnsIpCfg;
import com.nis.web.dao.CrudDao;
import com.nis.web.dao.MyBatisDao;
@MyBatisDao
public interface DnsIpCfgDao extends CrudDao<DnsIpCfg> {
}

View File

@@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.nis.web.dao.configuration.DnsIpCfgDao">
<resultMap id="dnsIpCfgMap" type="com.nis.domain.configuration.DnsIpCfg">
<id column="cfg_id" property="cfgId"/>
<result column="cfg_desc" property="cfgDesc"/>
<result column="ip_type" property="ipType"/>
<result column="src_ip" property="srcIp"/>
<result column="src_ip_mask" property="srcIpMask"/>
<result column="src_port" property="srcPort"/>
<result column="src_port_mask" property="srcPortMask"/>
<result column="dst_ip" property="dstIp"/>
<result column="dst_ip_mask" property="dstIpMask"/>
<result column="dst_port" property="dstPort"/>
<result column="dst_port_mask" property="dstPortMask"/>
<result column="direction" property="direction"/>
<result column="protocol" property="protocol"/>
<result column="is_valid" property="isValid"/>
<result column="is_audit" property="isAudit"/>
<result column="creator_id" property="creator.id"/>
<result column="create_time" property="createTime"/>
<result column="editor_id" property="editor.id"/>
<result column="edit_time" property="editTime"/>
<result column="auditor_id" property="auditor.id"/>
<result column="audit_time" property="auditTime"/>
<result column="request_id" property="request.id"/>
<result column="fake_id" property="fakeId"/>
<result column="classify" property="classify"/>
<result column="attribute" property="attribute"/>
<result column="label" property="label"/>
</resultMap>
<sql id="columns">
dic.CFG_ID, dic.CFG_DESC, dic.IP_TYPE, dic.SRC_IP, dic.SRC_IP_MASK, dic.SRC_PORT,
dic.SRC_PORT_MASK, dic.DST_IP, dic.DST_IP_MASK, dic.DST_PORT, dic.DST_PORT_MASK,
dic.DIRECTION, dic.PROTOCOL, dic.IS_VALID, dic.IS_AUDIT, dic.CREATOR_ID,
dic.CREATE_TIME, dic.EDITOR_ID, dic.EDIT_TIME, dic.AUDITOR_ID, dic.AUDIT_TIME,
dic.REQUEST_ID, dic.FAKE_ID, dic.CLASSIFY, dic.ATTRIBUTE, dic.LABLE
</sql>
<select id="findList" resultMap="dnsIpCfgMap">
select
<include refid="columns"></include>,
c.name as "creator.name",
e.name as "editor.name",
a.name as "auditor.name",
ri.request_title as "request.requestTitle"
from dns_ip_cfg dic
left join sys_user c on dic.creator_id=c.id
left join sys_user e on dic.creator_id=e.id
left join sys_user a on dic.creator_id=a.id
left join request_info ri on dic.request_id=ri.id
where dic.is_valid=1
<if test="searchCreateTimeStart != null">
and dic.create_time &gt;= #{searchCreateTimeStart}
</if>
<if test="searchCreateTimeEnd != null">
and dic.create_time &lt;= #{searchCreateTimeEnd}
</if>
<if test="searchEditTimeStart != null">
and dic.create_time &gt;= #{searchEditTimeStart}
</if>
<if test="searchEditTimeEnd != null">
and dic.create_time &lt;= #{searchEditTimeEnd}
</if>
<if test="searchAuditTimeStart != null">
and dic.create_time &gt;= #{searchAuditTimeStart}
</if>
<if test="searchAuditTimeEnd != null">
and dic.create_time &lt;= #{searchAuditTimeEnd}
</if>
<if test="isAudit != null">
and dic.is_audit = #{isAudit}
</if>
<if test="request != null and request.id != null">
and dic.request_id = #{request.id}
</if>
<if test="classify != null and classify != ''">
and concat(",", dic.classify, ",") like concat("%,", #{classify}, ",%")
</if>
<if test="attribute != null and attribute != ''">
and concat(",", dic.attribute, ",") like concat("%,", #{attribute}, ",%")
</if>
<if test="lable != null and lable != ''">
and concat(",", dic.lable, ",") like concat("%,", #{lable}, ",%")
</if>
</select>
<select id="get" resultMap="dnsIpCfgMap">
select
<include refid="columns"></include>,
c.name as "creator.name",
e.name as "editor.name",
a.name as "auditor.name",
ri.request_title as "request.requestTitle"
from dns_ip_cfg dic
left join sys_user c on dic.creator_id=c.id
left join sys_user e on dic.creator_id=e.id
left join sys_user a on dic.creator_id=a.id
left join request_info ri on dic.request_id=ri.id
where dic.cfg_id=#{id}
</select>
<insert id="insert">
insert into dns_ip_cfg (
cfg_desc, ip_type, src_ip, src_ip_mask, src_port,
src_port_mask, dst_ip, dst_ip_mask, dst_port, dst_port_mask,
direction, protocol, is_valid, is_audit, creator_id,
create_time, request_id, fake_id, classify, attribute, lable
) values (
#{cfgDesc}, #{ipType}, #{srcIp}, #{srcIpMask}, #{srcPort}, #{srcPortMask},
#{dstIp}, #{dstIpMask}, #{dstPort}, #{dstPortMask}, #{direction}, #{protocol},
#{isValid}, #{isAudit}, #{creator.id}, #{createTime}, #{request.id}, #{fakeId},
#{classify}, #{attribute}, #{lable}
)
</insert>
<update id="update">
update
dns_ip_cfg
set
cfg_desc=#{cfgDesc}, ip_type=#{ipType}, src_ip=#{srcIp}, src_ip_mask=#{srcIpMask},
src_port=#{srcPort}, src_port_mask=#{srcPortMask}, dst_ip=#{dstIp},
dst_ip_mask=#{dstIpMask}, dst_port=#{dstPort}, dst_port_mask=#{dstPortMask},
direction=#{direction}, protocol=#{protocol}, request_id=#{request.id},
fake_id=#{fakeId}, classify=#{classify}, attribute=#{attribute}, lable=#{lable},
editor_id=#{editor.id}, edit_time=#{editTime}
where cfg_id=#{cfgId}
</update>
<update id="delete">
update
dns_ip_cfg
set
is_valid=0
where cfg_id=#{cfgId}
</update>
</mapper>

View File

@@ -0,0 +1,31 @@
package com.nis.web.service.configuration;
import org.springframework.stereotype.Service;
import com.nis.domain.configuration.DnsIpCfg;
import com.nis.web.dao.configuration.DnsIpCfgDao;
import com.nis.web.service.CrudService;
@Service
public class DnsIpCfgService extends CrudService<DnsIpCfgDao, DnsIpCfg>{
@Override
public void save(DnsIpCfg dnsIpCfg) {
if (dnsIpCfg.getCfgId() == null) {
dao.insert(dnsIpCfg);
} else {
dao.update(dnsIpCfg);
}
//TODO 下发流程
}
public void delete(String cfgIds) {
String[] cfgIdsArr = cfgIds.split(",");
for (String cfgId : cfgIdsArr) {
DnsIpCfg d = new DnsIpCfg();
d.setCfgId(Long.valueOf(cfgId));
dao.delete(d);
}
//TODO 下发流程
}
}