Sfoglia il codice sorgente

feat : edit Node class-add node index

master
우인혜 6 anni fa
parent
commit
19fdf4a620

+ 33
- 0
README.md Vedi File

@@ -0,0 +1,33 @@
1
+# 우정사업부 noderank 계산
2
+## Versions
3
+jdk 13.0.1
4
+## Quick Start
5
+## Commit Message
6
+Commit Message는 보기 좋은 History를 위해서 아래와 같은 Guide를 권장한다.  
7
+prefix: <작업 내용> (#<관련이슈번호>)
8
+ex) feat: 사용자 회원가입 추가
9
+
10
+- `feat` - 신규 기능을 추가
11
+- `refactor` - 코드 내부 구조를 변경
12
+- `chore` - 실제 코드 동작과는 관련 없는 `config` or `script`
13
+- `doc` - 문서에 관련된 작업
14
+- `fix` - Bug 수정
15
+- `style` - 코드 스타일 수정(Design 아닙니다!)
16
+
17
+## 지표 설명
18
+### Vulnerability
19
+네트워크에서 노드의 취약성을 의미한다.
20
+네트워크에서 특정 노드로 전달되는 통신량이 많이 발생할 경우, 그 노드는 공격을 받을 가능성이 높기 때문에, 노드의 취약성이 높다고 가정할 수 있다.
21
+하지만, 네트워크는 여러 단계를 거쳐 통신을 하고 있기 때문에, 단순히 한 단계의 통신만을 보고 노드의 취약성을 평가하기 어렵다.
22
+이를 해결하기 위해, NodeRank 알고리즘에서는 PageRank 알고리즘을 차용하여, 여러 단계에 걸쳐 통신하는 네트워크에서 각 노드의 취약성을 더 자세하게 계산한다.
23
+
24
+### Aggression
25
+Node의 Aggression은 네트워크에서 한 노드가 다른 노드들에게 줄 영향력을 의미한다.
26
+네트워크에서 특정 노드가 다른 노드들로 많은 데이터를 전달하는데, 해당 노드가 좀비 노드와 같이 다른 노드를 공격하게 되면, 네트워크에 큰 피해를 줄 수 있다.
27
+Vulnerability 계산과 마찬가지로, 네트워크는 여러 단계를 거쳐 통신을 하고 있기 때문에, Aggression을 계산할 때도, 여러 노드들의 통신을 고려하여 노드의 Aggression을 측정한다. 
28
+
29
+### Co-efficient
30
+DDoS 공격은 주로 네트워크에서 다수의 좀비 PC를 만든 후, 이들을 이용하여 다량의 패킷을 보내 네트워크 내 주요 서버들을 마비시킨다.
31
+즉, DDoS 공격을 수행하기 위해서는 다수의 좀비 PC를 만드는 것이 일반적이다. 해커가 DDoS 공격을 수행하기 위해, 좀비 PC 최대한 다수 생성하려고 하기 때문에, 네트워크 내 웜 형태의 악성코드를 배포하여 한 노드가 다른 노드들을 감염시키려고 시도한다.
32
+이를 위해, 네트워크에서는 서로 다른 노드들 간의 통신이 증가하게 되어, 노드들간의 연결성이 증가한다. 그 결과 네트워크 내 network cluster co-efficient의 값이 증가한다.
33
+DDoS 공격을 차단하기 위해서, 실시간으로 Network의 cluster co-efficient를 계산하여, 그 값이 급격히 증가하면, DDoS 공격으로부터 주요 서버를 보호하기 위한 조치를 취할 수 있다.

+ 10
- 7
src/main/java/com/mycompany/app/App.java Vedi File

@@ -19,14 +19,14 @@ import org.json.simple.parser.ParseException;
19 19
 public class App 
20 20
 {
21 21
     public static void main(String[] args) {        
22
-        File file = new File("2016_05_05_05.txt");   // 파일 변수 file을 만든다
22
+        File file = new File("2016_05_05_05.txt");   // Create file variable
23 23
         Vector<String> IP = new Vector<String>(10);
24 24
         try {
25
-            // BufferedReader 변수에 file을 넣는다
25
+            // Insert file in BufferedReader
26 26
             BufferedReader reader = new BufferedReader(new FileReader(file));
27 27
             // 파일을 한줄씩 읽어 넣기 위한 변수 line
28 28
             String line = null;
29
-            // 한 줄씩 읽어서 line에 넣은 후 null이 아니면 실행
29
+            // Read and Insert 1 line and Excute if not null
30 30
             while( (line = reader.readLine()) != null ) {
31 31
                 JSONParser jsonParser = new JSONParser();
32 32
                 JSONObject jsonObject = new JSONObject();
@@ -37,14 +37,17 @@ public class App
37 37
                     // TODO Auto-generated catch block
38 38
                     e.printStackTrace();
39 39
                 }
40
-                //  새로운 Node 생성
40
+                // Create newNode
41 41
                 if(!IP.contains(jsonObject.get("eip"))){
42 42
                     IP.addElement((String)jsonObject.get("eip"));
43 43
                     try {
44
-                        // 새로운 ip 발견 되면 새 node 생성
44
+                        // Create newNode When probe new IP
45 45
                         Node newNode = node.getClass().newInstance();
46
-                        newNode.eip=(String)jsonObject.get("eip");  //  새 node에 eip입력
47
-                        System.out.println(newNode.eip);    //  ip 출력
46
+                        newNode.eip = (String)jsonObject.get("eip");  //  Insert "eip" in newNode
47
+                        newNode.idx = 1 + IP.indexOf(jsonObject.get("eip"));    // Insert "index" in newNode
48
+
49
+                        System.out.println(newNode.eip);    //  print eip
50
+                        System.out.println(newNode.idx);    //  print idx
48 51
 
49 52
                     } catch (InstantiationException e) {
50 53
                     } catch (IllegalAccessException e) {

+ 1
- 0
src/main/java/com/mycompany/app/Node.java Vedi File

@@ -1,6 +1,7 @@
1 1
 package com.mycompany.app;
2 2
 
3 3
 class Node {
4
+    int idx;    //index
4 5
     String eip; //  ip
5 6
 
6 7
     double vulnerability;   //  inbound value

+ 0
- 19
target/classes/com/mycompany/app/2016_05_05_05.txt Vedi File

@@ -1,19 +0,0 @@
1
-{"svType":"flw_12", "lid":"1565429429882548858", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.4", "eip":"192.168.0.21", "nport":37657, "eport":2181, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":9072, "in_pkt":0, "out_pkt":124, "url":""}
2
-{"svType":"flw_12", "lid":"1565429429882539122", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.23", "eip":"192.168.0.22", "nport":46375, "eport":5015, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":220, "in_pkt":0, "out_pkt":2, "url":""}
3
-{"svType":"flw_12", "lid":"1565429429882539114", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.21", "eip":"192.168.0.22", "nport":57345, "eport":5015, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":244, "in_pkt":0, "out_pkt":2, "url":""}
4
-{"svType":"flw_12", "lid":"1565429429864235024", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.8", "eip":"192.168.0.4", "nport":40456, "eport":8025, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":37200, "in_pkt":0, "out_pkt":240, "url":""}
5
-{"svType":"flw_12", "lid":"1565429429864235023", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.5", "eip":"192.168.0.4", "nport":49698, "eport":8025, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":37200, "in_pkt":0, "out_pkt":240, "url":""}
6
-{"svType":"flw_12", "lid":"1565429429864235025", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.7", "eip":"192.168.0.4", "nport":55663, "eport":8025, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":37200, "in_pkt":0, "out_pkt":240, "url":""}
7
-{"svType":"flw_12", "lid":"1565429429864235043", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.7", "eip":"192.168.0.4", "nport":34895, "eport":9000, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":23002, "in_pkt":0, "out_pkt":88, "url":""}
8
-{"svType":"flw_12", "lid":"1565429429864235041", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.8", "eip":"192.168.0.4", "nport":47798, "eport":9000, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":23002, "in_pkt":0, "out_pkt":88, "url":""}
9
-{"svType":"flw_12", "lid":"1565429429882548683", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.23", "eip":"192.168.0.22", "nport":37782, "eport":9092, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":2164, "in_pkt":0, "out_pkt":8, "url":""}
10
-{"svType":"flw_12", "lid":"1565429429882548929", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.22", "eip":"192.168.0.23", "nport":38375, "eport":9092, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":2228, "in_pkt":0, "out_pkt":8, "url":""}
11
-{"svType":"flw_12", "lid":"1565429429882548862", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.4", "eip":"192.168.0.22", "nport":40900, "eport":9092, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":8160, "in_pkt":0, "out_pkt":40, "url":""}
12
-{"svType":"flw_12", "lid":"1565429429882548658", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.21", "eip":"192.168.0.22", "nport":42355, "eport":9092, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":2296, "in_pkt":0, "out_pkt":10, "url":""}
13
-{"svType":"flw_12", "lid":"1565429429882548927", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.21", "eip":"192.168.0.23", "nport":43175, "eport":9092, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":2228, "in_pkt":0, "out_pkt":8, "url":""}
14
-{"svType":"flw_12", "lid":"1565429429882548933", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.4", "eip":"192.168.0.23", "nport":47072, "eport":9092, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":8800, "in_pkt":0, "out_pkt":40, "url":""}
15
-{"svType":"flw_12", "lid":"1565429429882548652", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.22", "eip":"192.168.0.21", "nport":49297, "eport":9092, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":2424, "in_pkt":0, "out_pkt":10, "url":""}
16
-{"svType":"flw_12", "lid":"1565429429882548864", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.4", "eip":"192.168.0.21", "nport":50316, "eport":9092, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":8800, "in_pkt":0, "out_pkt":40, "url":""}
17
-{"svType":"flw_12", "lid":"1565429429882548685", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.23", "eip":"192.168.0.21", "nport":53035, "eport":9092, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":2292, "in_pkt":0, "out_pkt":8, "url":""}
18
-{"svType":"flw_12", "lid":"1565429429864235044", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.4", "eip":"192.168.0.7", "nport":9000, "eport":34895, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":218, "in_pkt":0, "out_pkt":2, "url":""}
19
-{"svType":"flw_12", "lid":"1565429429882548859", "s_date":"2016/05/05 05:52:59", "e_date":"2016/05/05 05:52:59", "norg":2, "eorg":999, "nip":"192.168.0.21", "eip":"192.168.0.4", "nport":2181, "eport":37657, "proto":6, "app_grp":0, "app":0, "in_byte":0, "out_byte":172, "in_pkt":0, "out_pkt":2, "url":""}

BIN
target/classes/com/mycompany/app/App.class Vedi File


BIN
target/classes/com/mycompany/app/Node.class Vedi File


+ 2
- 0
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst Vedi File

@@ -0,0 +1,2 @@
1
+com\mycompany\app\Node.class
2
+com\mycompany\app\App.class

+ 2
- 0
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst Vedi File

@@ -0,0 +1,2 @@
1
+D:\apl\my-app\src\main\java\com\mycompany\app\Node.java
2
+D:\apl\my-app\src\main\java\com\mycompany\app\App.java

BIN
target/test-classes/com/mycompany/app/AppTest.class Vedi File


Loading…
Annulla
Salva