diff --git a/pom.xml b/pom.xml index 55dd9ec..112a785 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.zdjizhi flink-dos-detection - 24-07-25 + 24-08-07 flink-dos-detection http://www.example.com @@ -80,7 +80,7 @@ - flink-dos-detection-24-07-25 + flink-dos-detection-24-08-07 org.apache.http @@ -134,7 +134,12 @@ - + + org.apache.flink + flink-test-utils_2.12 + ${flink.version} + test + org.jasypt jasypt diff --git a/src/main/java/com/zdjizhi/common/DosSketchLog.java b/src/main/java/com/zdjizhi/common/DosSketchLog.java index 7a1239d..f652399 100644 --- a/src/main/java/com/zdjizhi/common/DosSketchLog.java +++ b/src/main/java/com/zdjizhi/common/DosSketchLog.java @@ -244,7 +244,7 @@ public class DosSketchLog implements Serializable { } - public int getRule_id() { + public int getRule_id() { return rule_id; } diff --git a/src/main/java/com/zdjizhi/function/DosMetricsRichFunction.java b/src/main/java/com/zdjizhi/function/DosMetricsRichFunction.java index b2a5000..aa95048 100644 --- a/src/main/java/com/zdjizhi/function/DosMetricsRichFunction.java +++ b/src/main/java/com/zdjizhi/function/DosMetricsRichFunction.java @@ -58,7 +58,10 @@ public class DosMetricsRichFunction extends RichFlatMapFunction DosSketchLog dosSketchLog = JSONObject.parseObject(value, DosSketchLog.class); dosSketchLog.setRecv_time(System.currentTimeMillis()/1000); dosSketchLog.setStart_timestamp_ms(dosSketchLog.getTimestamp_ms()); + if(dosSketchLog.getDuration()<=0){ + dosSketchLog.setDuration(60000); + } dosSketchLog.setEnd_timestamp_ms(dosSketchLog.getTimestamp_ms() + dosSketchLog.getDuration()); HashSet client_ips = new HashSet<>(); HashSet client_countrys = new HashSet<>(); dosSketchLog.setClient_ips(client_ips); dosSketchLog.setClient_countrys(client_countrys); + if("top_client_and_server_ip".equals(dosSketchLog.getName())){ - client_ips.add(dosSketchLog.getClient_ip()); + dosSketchLog.setDecoded_as(""); + if(dosSketchLog.getClient_ip()!=null) { + client_ips.add(dosSketchLog.getClient_ip()); + } if(dosSketchLog.getClient_country()!=null && !dosSketchLog.getClient_country().isEmpty()) { client_countrys.add(dosSketchLog.getClient_country()); } @@ -39,7 +46,9 @@ public class FlatSketchFunction implements FlatMapFunction dosSketchLog.setPkts(0); dosSketchLog.setBytes(0); dosSketchLog.setSessions(0); - client_ips.add(dosSketchLog.getClient_ip()); + if(dosSketchLog.getClient_ip()!=null) { + client_ips.add(dosSketchLog.getClient_ip()); + } if(dosSketchLog.getClient_country()!=null && !dosSketchLog.getClient_country().isEmpty()) { client_countrys.add(dosSketchLog.getClient_country()); } diff --git a/src/main/java/com/zdjizhi/function/MetricsCalculate.java b/src/main/java/com/zdjizhi/function/MetricsCalculate.java index b4cccff..d5d99af 100644 --- a/src/main/java/com/zdjizhi/function/MetricsCalculate.java +++ b/src/main/java/com/zdjizhi/function/MetricsCalculate.java @@ -45,7 +45,7 @@ public class MetricsCalculate extends ProcessWindowFunction< dosSketchLog.setSession_rate(dosSketchLog.getSessions()/ (duration/1000) ); dosSketchLog.setPacket_rate(dosSketchLog.getPkts()/(duration/1000)); dosSketchLog.setBit_rate(dosSketchLog.getBytes()*8/(duration/1000)); - dosSketchLog.setAttack_type(attackTypeMapping.getOrDefault(dosSketchLog.getDecoded_as(),"")); + dosSketchLog.setAttack_type(attackTypeMapping.get(dosSketchLog.getDecoded_as())); }catch (RuntimeException e){ logger.error(e.toString()); } diff --git a/src/test/java/com/zdjizhi/etl/EtlProcessFunctionTest.java b/src/test/java/com/zdjizhi/etl/EtlProcessFunctionTest.java deleted file mode 100644 index f93794c..0000000 --- a/src/test/java/com/zdjizhi/etl/EtlProcessFunctionTest.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.zdjizhi.etl; - -import org.junit.Test; - -public class EtlProcessFunctionTest { - - @Test - public void EtlProcessFunctionTest(){ - - } -}