You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Feature/prompt for configfile to load and save (#69)
* 🎨 Format
* 🚀 Load config file into tui
* 🧑💻 Add dynamic load and save functionality
* 📈 Add a chart showing activity when in csv o… (#70)
* 📈 Add a chart showing activity when in csv output mode
* 🔇 Update when log mode is debug, chart is not shown
* Debian package (#71)
* ✏️ Update readme with better logging explanation
* 📦 Add debian build dpkg files
* 🔇 Disable tui by adding new arg
* ✅ Add tests
* 🙈 Add debian build files to ignore
* 🎨 Format
* 🐛 Fix missing padding (#73)
* 🐛 Fix missing padding
* ➕ Add buffer size for the ipv6, so the buffers are as large as the ipv4
* 🔥 Remove double record
* ✨ Add new feature icmp type to ebpf programs
* support extension headers IPv6
* review comments
* New rustiflow featureset + major feature refactor (#77)
* create rustiflow feature set
* refactor of features into sub structs
* include flow expiration cause and support updating stats on expiration
* export icmp code from ebpf
* update rustiflow feature set
* use microseconds since epoch instead of Datetime to limit memory
* set default threads to 5
* update dropped packets
* update
* extra packet features
* update rustiflow features
* review comments
---------
Co-authored-by: Miel Verkerken <[email protected]>
Co-authored-by: Miel Verkerken <[email protected]>
This tool is engineered for robust and efficient feature extraction, particularly for applications such as network intrusion detection systems, among others. Leveraging Rust language and eBPF, it excels in processing high volumes of network traffic with remarkable speed and throughput. (When your traffic is already captured, don't worry! It also has a build in pcap reader which is also amazingly fast.) With various pre-defined feature sets and the ability to create custom feature sets, RustiFlow offers a versatile solution for network security applications.
## <imgsrc="figures/RustiFlow_nobg.png"width="60px"/> Using the release binary:
@@ -47,21 +49,24 @@ You can then run the binary with the following commands displayed on the [help m
47
49
48
50
### Using the tui interface:
49
51
50
-
If you want a more graphical interface, you can use the tui interface by just running `rustiflow` without any arguments. This will open the following interface:
52
+
If you want a more graphical interface, you can use the tui interface by just running `rustiflow` without any arguments. This will open a field where you can enter a configuration file you want to edit or you can choose to start new. After that, the following interface will show up:
51
53
52
54

53
55
54
-
> **NOTE:** When using the save button, the current selection will be saved to the `rustiflow.toml` file. You can reuse this file with following command:
Interval (in seconds) forchecking and expiring flowsin the flowtable. This represents how often the flowtable should be scanned to remove inactive flows
213
-
214
-
[default: 60]
212
+
[default: 3600]
215
213
216
-
--threads <THREADS>
217
-
The numbers of threads to useforprocessing packets (optional) (default: number of logical CPUs)
214
+
--idle-timeout <IDLE_TIMEOUT>
215
+
The maximum time with no packetsfora flowin seconds (optional)
218
216
219
-
-o, --output <OUTPUT>
220
-
Output method (required if no config file is provided)
217
+
[default: 120]
221
218
222
-
Possible values:
223
-
- print: The output will be printed to the console
224
-
- csv: The output will be written to a CSV file
219
+
--early-export <EARLY_EXPORT>
220
+
The print interval foropen flowsin seconds (optional)
Interval (in seconds) forchecking and expiring flowsin the flowtable. This represents how often the flowtable should be scanned to remove inactive flows
228
224
229
-
--header
230
-
Whether to export the feature header
225
+
[default: 60]
231
226
232
-
--drop-contaminant-features
233
-
Whether to drop contaminant features
227
+
--threads <THREADS>
228
+
The numbers of threads to use for processing packets (optional) (default: 5, maximum number of logical CPUs)
234
229
235
-
-h, --help
236
-
Print help (see a summary with '-h')
230
+
-o, --output <OUTPUT>
231
+
Output method (required if no config file is provided)
237
232
238
-
-V, --version
239
-
Print version
233
+
Possible values:
234
+
- print: The output will be printed to the console
235
+
- csv: The output will be written to a CSV file
240
236
241
-
```
237
+
--export-path <EXPORT_PATH>
238
+
File path for output (used if method is Csv)
239
+
240
+
--header
241
+
Whether to export the feature header
242
+
243
+
--drop-contaminant-features
244
+
Whether to drop contaminant features
245
+
246
+
-h, --help
247
+
Print help (see a summary with '-h')
248
+
249
+
-V, --version
250
+
Print version
251
+
252
+
```
253
+
254
+
## Logging in both development or using the binary
255
+
256
+
### Development
257
+
258
+
```bash
259
+
RUST_LOG=info cargo xtask run --
260
+
```
261
+
262
+
### Binary
263
+
264
+
```bash
265
+
sudo RUST_LOG=info rustiflow
266
+
```
242
267
243
268
**Note:** For specific logging levels, adjust `RUST_LOG` to `error`for error messages, and `debug`for debug messages. If you don't want any additional logs, just remove `RUST_LOG=info`.
0 commit comments