-
Notifications
You must be signed in to change notification settings - Fork 51
/
Copy pathConfig.h
114 lines (87 loc) · 2.89 KB
/
Config.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#pragma once
#include "types.h"
namespace FeatureExtractor {
/**
* Class to store timeout settings
*
* If not specified otherwise, all time values are meant to be in seconds.
*/
class Config
{
/**
* Frame sniffing & parsing
*/
int files_c; // Count of files, if 0 interface number should be used
char **files_v;
int interface_num;
int pcap_read_timeout;
size_t additional_frame_len;
/**
* IP reassembly
*/
uint32_t ipfrag_timeout;
uint32_t ipfrag_check_interval_ms;
/**
* Conversation reconstruction
*/
uint32_t tcp_syn_timeout; // S0, S1
uint32_t tcp_estab_timeout; // ESTAB
uint32_t tcp_rst_timeout; // REJ, RSTO, RSTR, RSTOS0
uint32_t tcp_fin_timeout; // S2, S3
uint32_t tcp_last_ack_timeout; // S2F, S2F
uint32_t udp_timeout;
uint32_t icmp_timeout;
uint32_t conversation_check_interval_ms;
/**
* Conversation reconstruction
*/
unsigned int time_window_size_ms; // Size of window in miliseconds
unsigned int count_window_size;
/**
* Output
*/
bool print_extra_features; // IPs, ports, end timestamp
bool print_filename;
public:
Config();
~Config();
int get_files_count() const;
void set_files_count(int files_c);
char **get_files_values() const;
void set_files_values(char **files_v);
int get_interface_num() const;
void set_interface_num(int interface_num);
int get_pcap_read_timeout() const;
void set_pcap_read_timeout(int pcap_read_timeout);
size_t get_additional_frame_len() const;
void set_additional_frame_len(size_t additional_frame_len);
uint32_t get_ipfrag_timeout() const;
void set_ipfrag_timeout(uint32_t ipfrag);
uint32_t get_ipfrag_check_interval_ms() const;
void set_ipfrag_check_interval_ms(uint32_t ipfrag_check_interval_ms);
uint32_t get_tcp_syn_timeout() const;
void set_tcp_syn_timeout(uint32_t tcp_syn);
uint32_t get_tcp_estab_timeout() const;
void set_tcp_estab_timeout(uint32_t tcp_estab);
uint32_t get_tcp_rst_timeout() const;
void set_tcp_rst_timeout(uint32_t tcp_rst);
uint32_t get_tcp_fin_timeout() const;
void set_tcp_fin_timeout(uint32_t tcp_fin);
uint32_t get_tcp_last_ack_timeout() const;
void set_tcp_last_ack_timeout(uint32_t tcp_last_ack);
uint32_t get_udp_timeout() const;
void set_udp_timeout(uint32_t udp);
uint32_t get_icmp_timeout() const;
void set_icmp_timeout(uint32_t icmp);
uint32_t get_conversation_check_interval_ms() const;
void set_conversation_check_interval_ms(uint32_t conversation_check_interval_ms);
unsigned int get_time_window_size_ms() const;
void set_time_window_size_ms(unsigned int time_window_size_ms);
unsigned int get_count_window_size() const;
void set_count_window_size(unsigned int count_window_size);
bool should_print_extra_features() const;
void set_print_extra_features(bool print_extra_features);
bool should_print_filename() const;
void set_print_filename(bool print_filename);
};
}