package org.infosec.ismp.manager.server.event.analytic.trap; import java.sql.Timestamp; import org.infosec.ismp.manager.rmi.event.modle.NormalizedEvent; public class IDSTrapAssemble { /** * @param 对启明星辰的数据进行装配 * @return */ public NormalizedEvent assemble(String[] parsedMessage) { NormalizedEvent event = new NormalizedEvent(); event.setMessageType(parsedMessage[0]); event.setDevicetype("VenusTech_IDS"); //其中40代表启明星辰威胁划分共40级 event.setThrerank((Integer) (5 * Integer.parseInt(parsedMessage[1]) / 40)); event.setSrcip(parsedMessage[2]); event.setSrcport(parsedMessage[3]); event.setDestip(parsedMessage[4]); event.setDestport(parsedMessage[5]); event.setProtocol(parsedMessage[6]); event.setMsg(parsedMessage[7]); if (!(parsedMessage[8].equals(""))) { // System.out.println( // parsedMessage[8 // ]); event.setTimestamp(Timestamp.valueOf(parsedMessage[8] + ".0")); } else { event.setTimestamp(null); } return event; } /** * 对三零鹰眼的IDS数据格式进行装配 * * @param parsedMessage * @return */ public NormalizedEvent yingYanAssemble(String[] parsedMessage) { NormalizedEvent event = new NormalizedEvent(); event.setTimestamp(Timestamp.valueOf(parsedMessage[0] + ".0")); event.setMessageType(parsedMessage[2].trim()); event.setThrerank(Integer.parseInt(parsedMessage[3].trim())); String[] strs = parsedMessage[4].trim().split(":"); event.setSrcip(strs[0].trim()); if (strs.length>1 && strs[1]!=null && strs[1].trim().length()>0) { event.setSrcport(strs[1].trim()); } strs = parsedMessage[5].trim().split(":"); event.setDestip(strs[0].trim()); if (strs.length>1 && strs[1]!=null && strs[1].trim().length()>0) { event.setDestport(strs[1].trim()); } event.setProtocol(parsedMessage[6].trim()); event.setDevicetype("HAWKEYE_IDS"); return event; } /** * 对绿盟的IDS数据进行装配 * * @param parsedMessage * @return */ public NormalizedEvent iceyeAssemble(String[] parsedMessage) { NormalizedEvent event = new NormalizedEvent(); event.setDevicetype("ICEYE_IDS"); event.setSrcip(parsedMessage[4].trim()); event.setDestip(parsedMessage[5].trim()); int sport = Integer.parseInt(parsedMessage[6].trim()); if (sport>0) { event.setSrcport(sport+""); } int dport = Integer.parseInt(parsedMessage[7].trim()); if (dport>0) { event.setDestport(dport+""); } event.setTimestamp(new Timestamp(Long.parseLong(parsedMessage[12].trim())*1000)); event.setMsg(parsedMessage[13].trim()); event.setMessageType(parsedMessage[16].trim()); event.setThrerank(Integer.parseInt(parsedMessage[18].trim())); return event; } }