Browse Source

small changes

aidmar.wainakh 6 năm trước cách đây
mục cha
commit
23211cee24

+ 1 - 1
code/Attack/AttackParameters.py

@@ -56,4 +56,4 @@ class ParameterTypes(Enum):
     TYPE_PACKET_POSITION = 7  # used to derive timestamp from parameter INJECT_AFTER_PACKET
     TYPE_PACKET_POSITION = 7  # used to derive timestamp from parameter INJECT_AFTER_PACKET
 
 
     # Aidmar
     # Aidmar
-    TYPE_URI = 8
+    TYPE_DOMAIN = 8

+ 57 - 7
code/Attack/BaseAttack.py

@@ -1,5 +1,5 @@
 # Aidmar
 # Aidmar
-#import validators # TO-DO: it needs to be added to required packages
+from scapy.layers.inet import Ether
 
 
 import ipaddress
 import ipaddress
 import os
 import os
@@ -17,6 +17,7 @@ from Attack.AttackParameters import Parameter
 from Attack.AttackParameters import ParameterTypes
 from Attack.AttackParameters import ParameterTypes
 
 
 
 
+
 class BaseAttack(metaclass=ABCMeta):
 class BaseAttack(metaclass=ABCMeta):
     """
     """
     Abstract base class for all attack classes. Provides basic functionalities, like parameter validation.
     Abstract base class for all attack classes. Provides basic functionalities, like parameter validation.
@@ -213,14 +214,15 @@ class BaseAttack(metaclass=ABCMeta):
 
 
     # Aidmar
     # Aidmar
     @staticmethod
     @staticmethod
-    def _is_uri(uri: str):
+    def _is_domain(val: str):
         """
         """
         Verifies that the given string is a valid URI.
         Verifies that the given string is a valid URI.
 
 
         :param uri: The URI as string.
         :param uri: The URI as string.
         :return: True if URI is valid, otherwise False.
         :return: True if URI is valid, otherwise False.
         """
         """
-        return validators.url(uri)
+        domain = re.match('^(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$', val)
+        return (domain is not None)
 
 
 
 
     #########################################
     #########################################
@@ -294,9 +296,9 @@ class BaseAttack(metaclass=ABCMeta):
                 is_valid = True
                 is_valid = True
                 param_name = Parameter.INJECT_AT_TIMESTAMP
                 param_name = Parameter.INJECT_AT_TIMESTAMP
                 value = (ts / 1000000)  # convert microseconds from getTimestampMuSec into seconds
                 value = (ts / 1000000)  # convert microseconds from getTimestampMuSec into seconds
-        # Aidmar - TO-DO
-        elif param_type == ParameterTypes.TYPE_URI:
-            is_valid = True#self._is_uri(value)
+        # Aidmar
+        elif param_type == ParameterTypes.TYPE_DOMAIN:
+            is_valid = self._is_domain(value)
 
 
         # add value iff validation was successful
         # add value iff validation was successful
         if is_valid:
         if is_valid:
@@ -482,6 +484,13 @@ class BaseAttack(metaclass=ABCMeta):
 
 
     # Aidmar
     # Aidmar
     def get_reply_delay(self, ip_dst):
     def get_reply_delay(self, ip_dst):
+        """
+           Gets the minimum and the maximum reply delay for all the connections of a specific IP.
+           :param ip_dst: The IP to reterive its reply delay.
+           :return minDelay: minimum delay
+           :return maxDelay: maximum delay
+
+           """
         minDelay = self.statistics.process_db_query(
         minDelay = self.statistics.process_db_query(
             "SELECT minDelay FROM conv_statistics WHERE ipAddressB='" + ip_dst + "' LIMIT 1")
             "SELECT minDelay FROM conv_statistics WHERE ipAddressB='" + ip_dst + "' LIMIT 1")
         maxDelay = self.statistics.process_db_query(
         maxDelay = self.statistics.process_db_query(
@@ -493,4 +502,45 @@ class BaseAttack(metaclass=ABCMeta):
             maxDelay = np.median(allMaxDelays)
             maxDelay = np.median(allMaxDelays)
         minDelay = int(minDelay) * 10 ** -6  # convert from micro to seconds
         minDelay = int(minDelay) * 10 ** -6  # convert from micro to seconds
         maxDelay = int(maxDelay) * 10 ** -6
         maxDelay = int(maxDelay) * 10 ** -6
-        return minDelay,maxDelay
+        return minDelay,maxDelay
+
+    # Group the packets in conversations
+    def packetsToConvs(self,exploit_raw_packets):
+        """
+           Classifies a bunch of packets to conversations groups. A conversation is a set of packets go between host A (IP,port)
+           to host B (IP,port)
+           :param exploit_raw_packets: A set of packets contains several conversations.
+           :return conversations: A set of arrays, each array contains the packet of specifc conversation
+           :return orderList_conversations: An array contains the conversations ids (IP_A,port_A, IP_b,port_B) in the order
+           they appeared in the original packets.
+           """
+        conversations = {}
+        orderList_conversations = []
+        for pkt_num, pkt in enumerate(exploit_raw_packets):
+            eth_frame = Ether(pkt[0])
+
+            ip_pkt = eth_frame.payload
+            ip_dst = ip_pkt.getfieldval("dst")
+            ip_src = ip_pkt.getfieldval("src")
+
+            tcp_pkt = ip_pkt.payload
+            port_dst = tcp_pkt.getfieldval("dport")
+            port_src = tcp_pkt.getfieldval("sport")
+
+            conv_req = (ip_src, port_src, ip_dst, port_dst)
+            conv_rep = (ip_dst, port_dst, ip_src, port_src)
+            if conv_req not in conversations and conv_rep not in conversations:
+                pktList = [pkt]
+                conversations[conv_req] = pktList
+                # Order list of conv
+                orderList_conversations.append(conv_req)
+            else:
+                if conv_req in conversations:
+                    pktList = conversations[conv_req]
+                    pktList.append(pkt)
+                    conversations[conv_req] = pktList
+                else:
+                    pktList = conversations[conv_rep]
+                    pktList.append(pkt)
+                    conversations[conv_rep] = pktList
+        return (conversations, orderList_conversations)

+ 22 - 6
code/Attack/JoomlaRegPrivExploit.py

@@ -55,8 +55,8 @@ class JoomlaRegPrivExploit(BaseAttack.BaseAttack):
             Param.IP_SOURCE: ParameterTypes.TYPE_IP_ADDRESS,
             Param.IP_SOURCE: ParameterTypes.TYPE_IP_ADDRESS,
             Param.MAC_DESTINATION: ParameterTypes.TYPE_MAC_ADDRESS,
             Param.MAC_DESTINATION: ParameterTypes.TYPE_MAC_ADDRESS,
             Param.IP_DESTINATION: ParameterTypes.TYPE_IP_ADDRESS,
             Param.IP_DESTINATION: ParameterTypes.TYPE_IP_ADDRESS,
-            Param.TARGET_HOST: ParameterTypes.TYPE_URI,
-            Param.TARGET_URI: ParameterTypes.TYPE_URI,
+            Param.TARGET_HOST: ParameterTypes.TYPE_DOMAIN,
+            #Param.TARGET_URI: ParameterTypes.TYPE_URI,
             Param.INJECT_AT_TIMESTAMP: ParameterTypes.TYPE_FLOAT,
             Param.INJECT_AT_TIMESTAMP: ParameterTypes.TYPE_FLOAT,
             Param.INJECT_AFTER_PACKET: ParameterTypes.TYPE_PACKET_POSITION,
             Param.INJECT_AFTER_PACKET: ParameterTypes.TYPE_PACKET_POSITION,
             Param.PACKETS_PER_SECOND: ParameterTypes.TYPE_FLOAT
             Param.PACKETS_PER_SECOND: ParameterTypes.TYPE_FLOAT
@@ -69,7 +69,7 @@ class JoomlaRegPrivExploit(BaseAttack.BaseAttack):
             most_used_ip_address = most_used_ip_address[0]
             most_used_ip_address = most_used_ip_address[0]
         self.add_param_value(Param.IP_SOURCE, most_used_ip_address)
         self.add_param_value(Param.IP_SOURCE, most_used_ip_address)
         self.add_param_value(Param.MAC_SOURCE, self.statistics.get_mac_address(most_used_ip_address))
         self.add_param_value(Param.MAC_SOURCE, self.statistics.get_mac_address(most_used_ip_address))
-        self.add_param_value(Param.TARGET_URI, '/')
+        #self.add_param_value(Param.TARGET_URI, '/')
         self.add_param_value(Param.TARGET_HOST, "www.hackme.com")
         self.add_param_value(Param.TARGET_HOST, "www.hackme.com")
         self.add_param_value(Param.INJECT_AFTER_PACKET, randint(0, self.statistics.get_packet_count()))
         self.add_param_value(Param.INJECT_AFTER_PACKET, randint(0, self.statistics.get_packet_count()))
         self.add_param_value(Param.PACKETS_PER_SECOND,self.maxDefaultPPS)
         self.add_param_value(Param.PACKETS_PER_SECOND,self.maxDefaultPPS)
@@ -121,7 +121,7 @@ class JoomlaRegPrivExploit(BaseAttack.BaseAttack):
         mac_destination = self.get_param_value(Param.MAC_DESTINATION)
         mac_destination = self.get_param_value(Param.MAC_DESTINATION)
         ip_destination = self.get_param_value(Param.IP_DESTINATION)
         ip_destination = self.get_param_value(Param.IP_DESTINATION)
         target_host = self.get_param_value(Param.TARGET_HOST)
         target_host = self.get_param_value(Param.TARGET_HOST)
-        target_uri = self.get_param_value(Param.TARGET_URI)
+        target_uri = "/" #self.get_param_value(Param.TARGET_URI)
 
 
         # Check ip.src == ip.dst
         # Check ip.src == ip.dst
         if ip_source == ip_destination:
         if ip_source == ip_destination:
@@ -132,6 +132,21 @@ class JoomlaRegPrivExploit(BaseAttack.BaseAttack):
         path_attack_pcap = None
         path_attack_pcap = None
         minDelay, maxDelay = self.get_reply_delay(ip_destination)
         minDelay, maxDelay = self.get_reply_delay(ip_destination)
 
 
+        # Set TTL based on TTL distribution of IP address
+        source_ttl_dist = self.statistics.get_ttl_distribution(ip_source)
+        if len(source_ttl_dist) > 0:
+            source_ttl_prob_dict = Lea.fromValFreqsDict(source_ttl_dist)
+            source_ttl_value = source_ttl_prob_dict.random()
+        else:
+            source_ttl_value = self.statistics.process_db_query("most_used(ttlValue)")
+
+        destination_ttl_dist = self.statistics.get_ttl_distribution(ip_destination)
+        if len(destination_ttl_dist) > 0:
+            destination_ttl_prob_dict = Lea.fromValFreqsDict(destination_ttl_dist)
+            destination_ttl_value = destination_ttl_prob_dict.random()
+        else:
+            destination_ttl_value = self.statistics.process_db_query("most_used(ttlValue)")
+
         # Inject Joomla_registration_privesc
         # Inject Joomla_registration_privesc
         # Read joomla_registration_privesc pcap file
         # Read joomla_registration_privesc pcap file
         orig_ip_dst = None
         orig_ip_dst = None
@@ -179,6 +194,7 @@ class JoomlaRegPrivExploit(BaseAttack.BaseAttack):
                 # IP
                 # IP
                 ip_pkt.setfieldval("src", ip_source)
                 ip_pkt.setfieldval("src", ip_source)
                 ip_pkt.setfieldval("dst", ip_destination)
                 ip_pkt.setfieldval("dst", ip_destination)
+                ip_pkt.setfieldval("ttl", source_ttl_value)
                 # TCP
                 # TCP
                 tcp_pkt.setfieldval("sport",port_source)
                 tcp_pkt.setfieldval("sport",port_source)
 
 
@@ -204,8 +220,7 @@ class JoomlaRegPrivExploit(BaseAttack.BaseAttack):
                 new_pkt.time = timestamp_next_pkt
                 new_pkt.time = timestamp_next_pkt
 
 
                 maxdelay = randomdelay.random()
                 maxdelay = randomdelay.random()
-                pps = self.minDefaultPPS if getIntervalPPS(complement_interval_pps, timestamp_next_pkt) is None else max(
-                    getIntervalPPS(complement_interval_pps, timestamp_next_pkt), self.minDefaultPPS)
+                pps = max(getIntervalPPS(complement_interval_pps, timestamp_next_pkt), self.minDefaultPPS)
                 timestamp_next_pkt = update_timestamp(timestamp_next_pkt, pps, maxdelay)
                 timestamp_next_pkt = update_timestamp(timestamp_next_pkt, pps, maxdelay)
 
 
             # Reply: Victim --> attacker
             # Reply: Victim --> attacker
@@ -216,6 +231,7 @@ class JoomlaRegPrivExploit(BaseAttack.BaseAttack):
                 # IP
                 # IP
                 ip_pkt.setfieldval("src", ip_destination)
                 ip_pkt.setfieldval("src", ip_destination)
                 ip_pkt.setfieldval("dst", ip_source)
                 ip_pkt.setfieldval("dst", ip_source)
+                ip_pkt.setfieldval("ttl", destination_ttl_value)
                 # TCP
                 # TCP
                 tcp_pkt.setfieldval("dport", port_source)
                 tcp_pkt.setfieldval("dport", port_source)
 
 

+ 17 - 8
code/Attack/PortscanAttack.py

@@ -228,12 +228,20 @@ class PortscanAttack(BaseAttack.BaseAttack):
         # mss = self.statistics.get_mss(ip_destination)
         # mss = self.statistics.get_mss(ip_destination)
 
 
         # Set TTL based on TTL distribution of IP address
         # Set TTL based on TTL distribution of IP address
-        ttl_dist = self.statistics.get_ttl_distribution(ip_source)
-        if len(ttl_dist) > 0:
-            ttl_prob_dict = Lea.fromValFreqsDict(ttl_dist)
-            ttl_value = ttl_prob_dict.random()
+        # Aidmar - create two ttl for source and destination
+        source_ttl_dist = self.statistics.get_ttl_distribution(ip_source)
+        if len(source_ttl_dist) > 0:
+            source_ttl_prob_dict = Lea.fromValFreqsDict(source_ttl_dist)
+            source_ttl_value = source_ttl_prob_dict.random()
         else:
         else:
-            ttl_value = self.statistics.process_db_query("most_used(ttlValue)")
+            source_ttl_value = self.statistics.process_db_query("most_used(ttlValue)")
+
+        destination_ttl_dist = self.statistics.get_ttl_distribution(ip_destination)
+        if len(destination_ttl_dist) > 0:
+            destination_ttl_prob_dict = Lea.fromValFreqsDict(destination_ttl_dist)
+            destination_ttl_value = destination_ttl_prob_dict.random()
+        else:
+            destination_ttl_value = self.statistics.process_db_query("most_used(ttlValue)")
 
 
         # Aidmar
         # Aidmar
         A_B_packets = []
         A_B_packets = []
@@ -247,7 +255,7 @@ class PortscanAttack(BaseAttack.BaseAttack):
 
 
             # 1) Build request package
             # 1) Build request package
             request_ether = Ether(src=mac_source, dst=mac_destination)
             request_ether = Ether(src=mac_source, dst=mac_destination)
-            request_ip = IP(src=ip_source, dst=ip_destination, ttl=ttl_value)
+            request_ip = IP(src=ip_source, dst=ip_destination, ttl=source_ttl_value)
 
 
             # Aidmar - random src port for each packet
             # Aidmar - random src port for each packet
             sport = randint(1, 65535)
             sport = randint(1, 65535)
@@ -267,7 +275,7 @@ class PortscanAttack(BaseAttack.BaseAttack):
             # 2) Build reply (for open ports) package
             # 2) Build reply (for open ports) package
             if dport in ports_open:  # destination port is OPEN
             if dport in ports_open:  # destination port is OPEN
                 reply_ether = Ether(src=mac_destination, dst=mac_source)
                 reply_ether = Ether(src=mac_destination, dst=mac_source)
-                reply_ip = IP(src=ip_destination, dst=ip_source, flags='DF')
+                reply_ip = IP(src=ip_destination, dst=ip_source, ttl=destination_ttl_value, flags='DF')
                 #if mss_dst is None:
                 #if mss_dst is None:
                 #   reply_tcp = TCP(sport=dport, dport=sport, seq=0, ack=1, flags='SA', window=29200)
                 #   reply_tcp = TCP(sport=dport, dport=sport, seq=0, ack=1, flags='SA', window=29200)
                 #else:
                 #else:
@@ -317,7 +325,8 @@ class PortscanAttack(BaseAttack.BaseAttack):
             packets.append(request)
             packets.append(request)
 
 
             # Aidmar
             # Aidmar
-            pps = self.minDefaultPPS if getIntervalPPS(complement_interval_pps, timestamp_next_pkt) is None else max(getIntervalPPS(complement_interval_pps, timestamp_next_pkt),self.minDefaultPPS) # avoid case of pps = 0
+            #pps = self.minDefaultPPS if getIntervalPPS(complement_interval_pps, timestamp_next_pkt) is None else max(getIntervalPPS(complement_interval_pps, timestamp_next_pkt),self.minDefaultPPS) # avoid case of pps = 0
+            pps = max(getIntervalPPS(complement_interval_pps, timestamp_next_pkt),self.minDefaultPPS)
             timestamp_next_pkt = update_timestamp(timestamp_next_pkt, pps, maxDelay)
             timestamp_next_pkt = update_timestamp(timestamp_next_pkt, pps, maxDelay)
 
 
         # Aidmar - In case all requests are already sent, send all replies and confirms
         # Aidmar - In case all requests are already sent, send all replies and confirms

+ 16 - 16
code/ID2TLib/Statistics.py

@@ -774,9 +774,9 @@ class Statistics:
                 graphy.append(row[1])
                 graphy.append(row[1])
 
 
             plt.autoscale(enable=True, axis='both')
             plt.autoscale(enable=True, axis='both')
-            plt.title("IP New Values Distribution")
+            plt.title("IP Novelity Distribution")
             plt.xlabel('Timestamp')
             plt.xlabel('Timestamp')
-            plt.ylabel('New values count')
+            plt.ylabel('Novel values count')
             plt.xlim([0, len(graphx)])
             plt.xlim([0, len(graphx)])
             plt.grid(True)
             plt.grid(True)
             width = 0.1
             width = 0.1
@@ -791,7 +791,7 @@ class Statistics:
             plt.locator_params(axis='x', nbins=20)
             plt.locator_params(axis='x', nbins=20)
 
 
             plt.bar(x, graphy, width, align='center', linewidth=1, color='red', edgecolor='red')
             plt.bar(x, graphy, width, align='center', linewidth=1, color='red', edgecolor='red')
-            out = self.pcap_filepath.replace('.pcap', '_plot-interval-new-ip-dist' + file_ending)
+            out = self.pcap_filepath.replace('.pcap', '_plot-interval-novel-ip-dist' + file_ending)
             plt.savefig(out, dpi=500)
             plt.savefig(out, dpi=500)
 
 
             print("IP Standard Deviation:")
             print("IP Standard Deviation:")
@@ -810,9 +810,9 @@ class Statistics:
                     graphy.append(row[1])
                     graphy.append(row[1])
 
 
                 plt.autoscale(enable=True, axis='both')
                 plt.autoscale(enable=True, axis='both')
-                plt.title("TTL New Values Distribution")
+                plt.title("TTL Novelity Distribution")
                 plt.xlabel('Timestamp')
                 plt.xlabel('Timestamp')
-                plt.ylabel('New values count')
+                plt.ylabel('Novel values count')
                 plt.xlim([0, len(graphx)])
                 plt.xlim([0, len(graphx)])
                 plt.grid(True)
                 plt.grid(True)
                 width = 0.1
                 width = 0.1
@@ -827,7 +827,7 @@ class Statistics:
                 plt.locator_params(axis='x', nbins=20)
                 plt.locator_params(axis='x', nbins=20)
 
 
                 plt.bar(x, graphy, width, align='center', linewidth=1, color='red', edgecolor='red')
                 plt.bar(x, graphy, width, align='center', linewidth=1, color='red', edgecolor='red')
-                out = self.pcap_filepath.replace('.pcap', '_plot-interval-new-ttl-dist' + file_ending)
+                out = self.pcap_filepath.replace('.pcap', '_plot-interval-novel-ttl-dist' + file_ending)
                 plt.savefig(out, dpi=500)
                 plt.savefig(out, dpi=500)
 
 
                 print("TTL Standard Deviation:")
                 print("TTL Standard Deviation:")
@@ -847,9 +847,9 @@ class Statistics:
                 graphy.append(row[1])
                 graphy.append(row[1])
 
 
             plt.autoscale(enable=True, axis='both')
             plt.autoscale(enable=True, axis='both')
-            plt.title("ToS New Values Distribution")
+            plt.title("ToS Novelity Distribution")
             plt.xlabel('Timestamp')
             plt.xlabel('Timestamp')
-            plt.ylabel('New values count')
+            plt.ylabel('Novel values count')
             plt.xlim([0, len(graphx)])
             plt.xlim([0, len(graphx)])
             plt.grid(True)
             plt.grid(True)
             width = 0.1
             width = 0.1
@@ -864,7 +864,7 @@ class Statistics:
             plt.locator_params(axis='x', nbins=20)
             plt.locator_params(axis='x', nbins=20)
 
 
             plt.bar(x, graphy, width, align='center', linewidth=1, color='red', edgecolor='red')
             plt.bar(x, graphy, width, align='center', linewidth=1, color='red', edgecolor='red')
-            out = self.pcap_filepath.replace('.pcap', '_plot-interval-new-tos-dist' + file_ending)
+            out = self.pcap_filepath.replace('.pcap', '_plot-interval-novel-tos-dist' + file_ending)
             plt.savefig(out, dpi=500)
             plt.savefig(out, dpi=500)
 
 
             print("ToS Standard Deviation:")
             print("ToS Standard Deviation:")
@@ -884,9 +884,9 @@ class Statistics:
                     graphy.append(row[1])
                     graphy.append(row[1])
 
 
                 plt.autoscale(enable=True, axis='both')
                 plt.autoscale(enable=True, axis='both')
-                plt.title("Window Size New Values Distribution")
+                plt.title("Window Size Novelity Distribution")
                 plt.xlabel('Timestamp')
                 plt.xlabel('Timestamp')
-                plt.ylabel('New values count')
+                plt.ylabel('Novel values count')
                 plt.xlim([0, len(graphx)])
                 plt.xlim([0, len(graphx)])
                 plt.grid(True)
                 plt.grid(True)
                 width = 0.1
                 width = 0.1
@@ -901,7 +901,7 @@ class Statistics:
                 plt.locator_params(axis='x', nbins=20)
                 plt.locator_params(axis='x', nbins=20)
 
 
                 plt.bar(x, graphy, width, align='center', linewidth=1, color='red', edgecolor='red')
                 plt.bar(x, graphy, width, align='center', linewidth=1, color='red', edgecolor='red')
-                out = self.pcap_filepath.replace('.pcap', '_plot-interval-new-win-size-dist' + file_ending)
+                out = self.pcap_filepath.replace('.pcap', '_plot-interval-novel-win-size-dist' + file_ending)
                 plt.savefig(out, dpi=500)
                 plt.savefig(out, dpi=500)
 
 
                 # Calculate Standart Deviation
                 # Calculate Standart Deviation
@@ -924,9 +924,9 @@ class Statistics:
                     graphy.append(row[1])
                     graphy.append(row[1])
 
 
                 plt.autoscale(enable=True, axis='both')
                 plt.autoscale(enable=True, axis='both')
-                plt.title("MSS New Values Distribution")
+                plt.title("MSS Novelity Distribution")
                 plt.xlabel('Timestamp')
                 plt.xlabel('Timestamp')
-                plt.ylabel('New values count')
+                plt.ylabel('Novel values count')
                 plt.xlim([0, len(graphx)])
                 plt.xlim([0, len(graphx)])
                 plt.grid(True)
                 plt.grid(True)
                 width = 0.1
                 width = 0.1
@@ -941,7 +941,7 @@ class Statistics:
                 plt.locator_params(axis='x', nbins=20)
                 plt.locator_params(axis='x', nbins=20)
 
 
                 plt.bar(x, graphy, width, align='center', linewidth=1, color='red', edgecolor='red')
                 plt.bar(x, graphy, width, align='center', linewidth=1, color='red', edgecolor='red')
-                out = self.pcap_filepath.replace('.pcap', '_plot-interval-new-mss-dist' + file_ending)
+                out = self.pcap_filepath.replace('.pcap', '_plot-interval-novel-mss-dist' + file_ending)
                 plt.savefig(out, dpi=500)
                 plt.savefig(out, dpi=500)
 
 
                 # Calculate Standart Deviation
                 # Calculate Standart Deviation
@@ -976,7 +976,7 @@ class Statistics:
      # Aidmar
      # Aidmar
     def calculate_complement_packet_rates(self, pps):
     def calculate_complement_packet_rates(self, pps):
         """
         """
-        Calculates the complement packet rates of the background traffic packet rates per interval.
+        Calculates the complement packet rates of the background traffic packet rates for each interval.
         Then normalize it to maximum boundary, which is the input parameter pps
         Then normalize it to maximum boundary, which is the input parameter pps
 
 
         :return: normalized packet rates for each time interval.
         :return: normalized packet rates for each time interval.

+ 0 - 26
code/capture_1.pcap.stat

@@ -1,26 +0,0 @@
-====================== 
-PCAP file information 
-====================== 
-Pcap file:	capture_1.pcap
-#Packets:	23211 packets
-Capture length:	32.503 seconds
-Capture start:	2017-06-12 15:40:36.142820
-Capture end:	2017-06-12 15:47:08.645789
-====================== 
-General statistics 
-====================== 
-Avg. packet rate:	714.1194 packets/sec
-Avg. packet size:	0.0 kbytes
-Avg. packets sent:	321.0 packets
-Avg. bandwidth in:	57.2475 kbit/s
-Avg. bandwidth out:	57.2475 kbit/s
-====================== 
-Tests statistics 
-====================== 
-Payload ratio:	0.0 %
-Incorrect TCP checksum ratio:	0 %
-Avg. new IP:	0.72 
-Avg. new TTL:	0.27 
-Avg. new WinSize:	0.1 
-Avg. new ToS:	0.04 
-Avg. new MSS:	0.04 

+ 0 - 1
code_boost/src/cmake-build-debug/CMakeFiles/Makefile.cmake

@@ -54,7 +54,6 @@ set(CMAKE_MAKEFILE_PRODUCTS
 
 
 # Dependency information for all targets:
 # Dependency information for all targets:
 set(CMAKE_DEPEND_INFO_FILES
 set(CMAKE_DEPEND_INFO_FILES
-  "CMakeFiles/cpp-pcapreader.dir/DependInfo.cmake"
   "CMakeFiles/pcapreader.dir/DependInfo.cmake"
   "CMakeFiles/pcapreader.dir/DependInfo.cmake"
   "SQLiteCpp/CMakeFiles/SQLiteCpp.dir/DependInfo.cmake"
   "SQLiteCpp/CMakeFiles/SQLiteCpp.dir/DependInfo.cmake"
   "SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/DependInfo.cmake"
   "SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/DependInfo.cmake"

+ 3 - 41
code_boost/src/cmake-build-debug/CMakeFiles/Makefile2

@@ -59,53 +59,15 @@ CMAKE_SOURCE_DIR = /home/anonymous/Downloads/ID2T-toolkit/code_boost/src
 # The top-level build directory on which CMake was run.
 # The top-level build directory on which CMake was run.
 CMAKE_BINARY_DIR = /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug
 CMAKE_BINARY_DIR = /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug
 
 
-#=============================================================================
-# Target rules for target CMakeFiles/cpp-pcapreader.dir
-
-# All Build rule for target.
-CMakeFiles/cpp-pcapreader.dir/all: SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/all
-CMakeFiles/cpp-pcapreader.dir/all: SQLiteCpp/CMakeFiles/SQLiteCpp.dir/all
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/depend
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles --progress-num=8,9,10,11,12 "Built target cpp-pcapreader"
-.PHONY : CMakeFiles/cpp-pcapreader.dir/all
-
-# Include target in all.
-all: CMakeFiles/cpp-pcapreader.dir/all
-
-.PHONY : all
-
-# Build rule for subdir invocation for target.
-CMakeFiles/cpp-pcapreader.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles 14
-	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/cpp-pcapreader.dir/all
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles 0
-.PHONY : CMakeFiles/cpp-pcapreader.dir/rule
-
-# Convenience name for target.
-cpp-pcapreader: CMakeFiles/cpp-pcapreader.dir/rule
-
-.PHONY : cpp-pcapreader
-
-# clean rule for target.
-CMakeFiles/cpp-pcapreader.dir/clean:
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/clean
-.PHONY : CMakeFiles/cpp-pcapreader.dir/clean
-
-# clean rule for target.
-clean: CMakeFiles/cpp-pcapreader.dir/clean
-
-.PHONY : clean
-
 #=============================================================================
 #=============================================================================
 # Target rules for target CMakeFiles/pcapreader.dir
 # Target rules for target CMakeFiles/pcapreader.dir
 
 
 # All Build rule for target.
 # All Build rule for target.
-CMakeFiles/pcapreader.dir/all: SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/all
 CMakeFiles/pcapreader.dir/all: SQLiteCpp/CMakeFiles/SQLiteCpp.dir/all
 CMakeFiles/pcapreader.dir/all: SQLiteCpp/CMakeFiles/SQLiteCpp.dir/all
+CMakeFiles/pcapreader.dir/all: SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/all
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/depend
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/depend
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/build
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles --progress-num=13,14,15,16,17 "Built target pcapreader"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles --progress-num=8,9,10,11,12 "Built target pcapreader"
 .PHONY : CMakeFiles/pcapreader.dir/all
 .PHONY : CMakeFiles/pcapreader.dir/all
 
 
 # Include target in all.
 # Include target in all.
@@ -217,7 +179,7 @@ SQLiteCpp/sqlite3/preinstall:
 SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/all:
 SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/all:
 	$(MAKE) -f SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/build.make SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/depend
 	$(MAKE) -f SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/build.make SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/depend
 	$(MAKE) -f SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/build.make SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/build
 	$(MAKE) -f SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/build.make SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles --progress-num=18,19 "Built target sqlite3"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles --progress-num=13,14 "Built target sqlite3"
 .PHONY : SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/all
 .PHONY : SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/all
 
 
 # Include target in all.
 # Include target in all.

+ 0 - 1
code_boost/src/cmake-build-debug/CMakeFiles/TargetDirectories.txt

@@ -4,7 +4,6 @@
 /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles/list_install_components.dir
 /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles/list_install_components.dir
 /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles/rebuild_cache.dir
 /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles/rebuild_cache.dir
 /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles/edit_cache.dir
 /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles/edit_cache.dir
-/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles/cpp-pcapreader.dir
 /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles/pcapreader.dir
 /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/CMakeFiles/pcapreader.dir
 /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/SQLiteCpp/CMakeFiles/install/strip.dir
 /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/SQLiteCpp/CMakeFiles/install/strip.dir
 /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/SQLiteCpp/CMakeFiles/install/local.dir
 /home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/SQLiteCpp/CMakeFiles/install/local.dir

+ 5 - 5
code_boost/src/cmake-build-debug/CMakeFiles/pcapreader.dir/progress.make

@@ -1,6 +1,6 @@
-CMAKE_PROGRESS_1 = 13
-CMAKE_PROGRESS_2 = 14
-CMAKE_PROGRESS_3 = 15
-CMAKE_PROGRESS_4 = 16
-CMAKE_PROGRESS_5 = 17
+CMAKE_PROGRESS_1 = 8
+CMAKE_PROGRESS_2 = 9
+CMAKE_PROGRESS_3 = 10
+CMAKE_PROGRESS_4 = 11
+CMAKE_PROGRESS_5 = 12
 
 

+ 1 - 1
code_boost/src/cmake-build-debug/CMakeFiles/progress.marks

@@ -1 +1 @@
-19
+14

+ 0 - 26
code_boost/src/cmake-build-debug/Makefile

@@ -156,19 +156,6 @@ depend:
 	$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
 	$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
 .PHONY : depend
 .PHONY : depend
 
 
-#=============================================================================
-# Target rules for targets named cpp-pcapreader
-
-# Build rule for target.
-cpp-pcapreader: cmake_check_build_system
-	$(MAKE) -f CMakeFiles/Makefile2 cpp-pcapreader
-.PHONY : cpp-pcapreader
-
-# fast build rule for target.
-cpp-pcapreader/fast:
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/build
-.PHONY : cpp-pcapreader/fast
-
 #=============================================================================
 #=============================================================================
 # Target rules for targets named pcapreader
 # Target rules for targets named pcapreader
 
 
@@ -214,7 +201,6 @@ cxx/pcap_processor.o: cxx/pcap_processor.cpp.o
 
 
 # target to build an object file
 # target to build an object file
 cxx/pcap_processor.cpp.o:
 cxx/pcap_processor.cpp.o:
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/cxx/pcap_processor.cpp.o
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/pcap_processor.cpp.o
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/pcap_processor.cpp.o
 .PHONY : cxx/pcap_processor.cpp.o
 .PHONY : cxx/pcap_processor.cpp.o
 
 
@@ -224,7 +210,6 @@ cxx/pcap_processor.i: cxx/pcap_processor.cpp.i
 
 
 # target to preprocess a source file
 # target to preprocess a source file
 cxx/pcap_processor.cpp.i:
 cxx/pcap_processor.cpp.i:
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/cxx/pcap_processor.cpp.i
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/pcap_processor.cpp.i
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/pcap_processor.cpp.i
 .PHONY : cxx/pcap_processor.cpp.i
 .PHONY : cxx/pcap_processor.cpp.i
 
 
@@ -234,7 +219,6 @@ cxx/pcap_processor.s: cxx/pcap_processor.cpp.s
 
 
 # target to generate assembly for a file
 # target to generate assembly for a file
 cxx/pcap_processor.cpp.s:
 cxx/pcap_processor.cpp.s:
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/cxx/pcap_processor.cpp.s
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/pcap_processor.cpp.s
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/pcap_processor.cpp.s
 .PHONY : cxx/pcap_processor.cpp.s
 .PHONY : cxx/pcap_processor.cpp.s
 
 
@@ -244,7 +228,6 @@ cxx/statistics.o: cxx/statistics.cpp.o
 
 
 # target to build an object file
 # target to build an object file
 cxx/statistics.cpp.o:
 cxx/statistics.cpp.o:
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/cxx/statistics.cpp.o
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/statistics.cpp.o
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/statistics.cpp.o
 .PHONY : cxx/statistics.cpp.o
 .PHONY : cxx/statistics.cpp.o
 
 
@@ -254,7 +237,6 @@ cxx/statistics.i: cxx/statistics.cpp.i
 
 
 # target to preprocess a source file
 # target to preprocess a source file
 cxx/statistics.cpp.i:
 cxx/statistics.cpp.i:
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/cxx/statistics.cpp.i
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/statistics.cpp.i
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/statistics.cpp.i
 .PHONY : cxx/statistics.cpp.i
 .PHONY : cxx/statistics.cpp.i
 
 
@@ -264,7 +246,6 @@ cxx/statistics.s: cxx/statistics.cpp.s
 
 
 # target to generate assembly for a file
 # target to generate assembly for a file
 cxx/statistics.cpp.s:
 cxx/statistics.cpp.s:
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/cxx/statistics.cpp.s
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/statistics.cpp.s
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/statistics.cpp.s
 .PHONY : cxx/statistics.cpp.s
 .PHONY : cxx/statistics.cpp.s
 
 
@@ -274,7 +255,6 @@ cxx/statistics_db.o: cxx/statistics_db.cpp.o
 
 
 # target to build an object file
 # target to build an object file
 cxx/statistics_db.cpp.o:
 cxx/statistics_db.cpp.o:
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/cxx/statistics_db.cpp.o
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/statistics_db.cpp.o
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/statistics_db.cpp.o
 .PHONY : cxx/statistics_db.cpp.o
 .PHONY : cxx/statistics_db.cpp.o
 
 
@@ -284,7 +264,6 @@ cxx/statistics_db.i: cxx/statistics_db.cpp.i
 
 
 # target to preprocess a source file
 # target to preprocess a source file
 cxx/statistics_db.cpp.i:
 cxx/statistics_db.cpp.i:
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/cxx/statistics_db.cpp.i
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/statistics_db.cpp.i
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/statistics_db.cpp.i
 .PHONY : cxx/statistics_db.cpp.i
 .PHONY : cxx/statistics_db.cpp.i
 
 
@@ -294,7 +273,6 @@ cxx/statistics_db.s: cxx/statistics_db.cpp.s
 
 
 # target to generate assembly for a file
 # target to generate assembly for a file
 cxx/statistics_db.cpp.s:
 cxx/statistics_db.cpp.s:
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/cxx/statistics_db.cpp.s
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/statistics_db.cpp.s
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/statistics_db.cpp.s
 .PHONY : cxx/statistics_db.cpp.s
 .PHONY : cxx/statistics_db.cpp.s
 
 
@@ -304,7 +282,6 @@ cxx/utilities.o: cxx/utilities.cpp.o
 
 
 # target to build an object file
 # target to build an object file
 cxx/utilities.cpp.o:
 cxx/utilities.cpp.o:
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/cxx/utilities.cpp.o
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/utilities.cpp.o
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/utilities.cpp.o
 .PHONY : cxx/utilities.cpp.o
 .PHONY : cxx/utilities.cpp.o
 
 
@@ -314,7 +291,6 @@ cxx/utilities.i: cxx/utilities.cpp.i
 
 
 # target to preprocess a source file
 # target to preprocess a source file
 cxx/utilities.cpp.i:
 cxx/utilities.cpp.i:
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/cxx/utilities.cpp.i
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/utilities.cpp.i
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/utilities.cpp.i
 .PHONY : cxx/utilities.cpp.i
 .PHONY : cxx/utilities.cpp.i
 
 
@@ -324,7 +300,6 @@ cxx/utilities.s: cxx/utilities.cpp.s
 
 
 # target to generate assembly for a file
 # target to generate assembly for a file
 cxx/utilities.cpp.s:
 cxx/utilities.cpp.s:
-	$(MAKE) -f CMakeFiles/cpp-pcapreader.dir/build.make CMakeFiles/cpp-pcapreader.dir/cxx/utilities.cpp.s
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/utilities.cpp.s
 	$(MAKE) -f CMakeFiles/pcapreader.dir/build.make CMakeFiles/pcapreader.dir/cxx/utilities.cpp.s
 .PHONY : cxx/utilities.cpp.s
 .PHONY : cxx/utilities.cpp.s
 
 
@@ -340,7 +315,6 @@ help:
 	@echo "... list_install_components"
 	@echo "... list_install_components"
 	@echo "... rebuild_cache"
 	@echo "... rebuild_cache"
 	@echo "... edit_cache"
 	@echo "... edit_cache"
-	@echo "... cpp-pcapreader"
 	@echo "... pcapreader"
 	@echo "... pcapreader"
 	@echo "... SQLiteCpp"
 	@echo "... SQLiteCpp"
 	@echo "... sqlite3"
 	@echo "... sqlite3"

+ 2 - 2
code_boost/src/cmake-build-debug/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/progress.make

@@ -1,3 +1,3 @@
-CMAKE_PROGRESS_1 = 18
-CMAKE_PROGRESS_2 = 19
+CMAKE_PROGRESS_1 = 13
+CMAKE_PROGRESS_2 = 14
 
 

+ 0 - 60
code_boost/src/cmake-build-debug/cpp-pcapreader.cbp

@@ -77,58 +77,6 @@
 					<DistClean command="/usr/bin/make -j4 -f &quot;/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/Makefile&quot;  VERBOSE=1 clean"/>
 					<DistClean command="/usr/bin/make -j4 -f &quot;/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/Makefile&quot;  VERBOSE=1 clean"/>
 				</MakeCommands>
 				</MakeCommands>
 			</Target>
 			</Target>
-			<Target title="cpp-pcapreader">
-				<Option output="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/cpp-pcapreader" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add directory="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/SQLiteCpp/include"/>
-					<Add directory="/usr/include/python3.5m"/>
-					<Add directory="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/SQLiteCpp/sqlite3"/>
-					<Add directory="/usr/include/c++/5"/>
-					<Add directory="/usr/include/x86_64-linux-gnu/c++/5"/>
-					<Add directory="/usr/include/c++/5/backward"/>
-					<Add directory="/usr/lib/gcc/x86_64-linux-gnu/5/include"/>
-					<Add directory="/usr/local/include"/>
-					<Add directory="/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed"/>
-					<Add directory="/usr/include/x86_64-linux-gnu"/>
-					<Add directory="/usr/include"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -j4 -f &quot;/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/Makefile&quot;  VERBOSE=1 cpp-pcapreader"/>
-					<CompileFile command="/usr/bin/make -j4 -f &quot;/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -j4 -f &quot;/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -j4 -f &quot;/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
-			<Target title="cpp-pcapreader/fast">
-				<Option output="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/cpp-pcapreader" prefix_auto="0" extension_auto="0"/>
-				<Option working_dir="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug"/>
-				<Option object_output="./"/>
-				<Option type="1"/>
-				<Option compiler="gcc"/>
-				<Compiler>
-					<Add directory="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/SQLiteCpp/include"/>
-					<Add directory="/usr/include/python3.5m"/>
-					<Add directory="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/SQLiteCpp/sqlite3"/>
-					<Add directory="/usr/include/c++/5"/>
-					<Add directory="/usr/include/x86_64-linux-gnu/c++/5"/>
-					<Add directory="/usr/include/c++/5/backward"/>
-					<Add directory="/usr/lib/gcc/x86_64-linux-gnu/5/include"/>
-					<Add directory="/usr/local/include"/>
-					<Add directory="/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed"/>
-					<Add directory="/usr/include/x86_64-linux-gnu"/>
-					<Add directory="/usr/include"/>
-				</Compiler>
-				<MakeCommands>
-					<Build command="/usr/bin/make -j4 -f &quot;/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/Makefile&quot;  VERBOSE=1 cpp-pcapreader/fast"/>
-					<CompileFile command="/usr/bin/make -j4 -f &quot;/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/Makefile&quot;  VERBOSE=1 &quot;$file&quot;"/>
-					<Clean command="/usr/bin/make -j4 -f &quot;/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/Makefile&quot;  VERBOSE=1 clean"/>
-					<DistClean command="/usr/bin/make -j4 -f &quot;/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/Makefile&quot;  VERBOSE=1 clean"/>
-				</MakeCommands>
-			</Target>
 			<Target title="pcapreader">
 			<Target title="pcapreader">
 				<Option output="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/libpcapreader.so" prefix_auto="0" extension_auto="0"/>
 				<Option output="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug/libpcapreader.so" prefix_auto="0" extension_auto="0"/>
 				<Option working_dir="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug"/>
 				<Option working_dir="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cmake-build-debug"/>
@@ -371,35 +319,27 @@
 			<Option target="SQLiteCpp"/>
 			<Option target="SQLiteCpp"/>
 		</Unit>
 		</Unit>
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/pcap_processor.cpp">
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/pcap_processor.cpp">
-			<Option target="cpp-pcapreader"/>
 			<Option target="pcapreader"/>
 			<Option target="pcapreader"/>
 		</Unit>
 		</Unit>
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/pcap_processor.h">
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/pcap_processor.h">
-			<Option target="cpp-pcapreader"/>
 			<Option target="pcapreader"/>
 			<Option target="pcapreader"/>
 		</Unit>
 		</Unit>
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/statistics.cpp">
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/statistics.cpp">
-			<Option target="cpp-pcapreader"/>
 			<Option target="pcapreader"/>
 			<Option target="pcapreader"/>
 		</Unit>
 		</Unit>
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/statistics.h">
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/statistics.h">
-			<Option target="cpp-pcapreader"/>
 			<Option target="pcapreader"/>
 			<Option target="pcapreader"/>
 		</Unit>
 		</Unit>
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/statistics_db.cpp">
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/statistics_db.cpp">
-			<Option target="cpp-pcapreader"/>
 			<Option target="pcapreader"/>
 			<Option target="pcapreader"/>
 		</Unit>
 		</Unit>
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/statistics_db.h">
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/statistics_db.h">
-			<Option target="cpp-pcapreader"/>
 			<Option target="pcapreader"/>
 			<Option target="pcapreader"/>
 		</Unit>
 		</Unit>
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/utilities.cpp">
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/utilities.cpp">
-			<Option target="cpp-pcapreader"/>
 			<Option target="pcapreader"/>
 			<Option target="pcapreader"/>
 		</Unit>
 		</Unit>
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/utilities.h">
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/cxx/utilities.h">
-			<Option target="cpp-pcapreader"/>
 			<Option target="pcapreader"/>
 			<Option target="pcapreader"/>
 		</Unit>
 		</Unit>
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/CMakeLists.txt">
 		<Unit filename="/home/anonymous/Downloads/ID2T-toolkit/code_boost/src/CMakeLists.txt">