diff options
| author | Mosder <xmosder12@gmail.com> | 2026-06-13 20:14:51 +0200 |
|---|---|---|
| committer | Mosder <xmosder12@gmail.com> | 2026-06-13 20:14:51 +0200 |
| commit | f0d9f0c2dcc2029a907deee7981e7e5230b6d77c (patch) | |
| tree | c20714dd85629f7fbacb10c0dfc8d80bc45c14a6 /analyzer | |
| parent | 66226cdc6eb6dbcfde7932a192a438ebfe438bda (diff) | |
feat: added the simple capturing packets mode
Diffstat (limited to 'analyzer')
| -rw-r--r-- | analyzer/capture.c | 28 | ||||
| -rw-r--r-- | analyzer/capture.h | 8 |
2 files changed, 36 insertions, 0 deletions
diff --git a/analyzer/capture.c b/analyzer/capture.c new file mode 100644 index 0000000..0a75e09 --- /dev/null +++ b/analyzer/capture.c @@ -0,0 +1,28 @@ +#include "capture.h" + +#include <stdio.h> +#include <stdlib.h> + +#include "headers/interface.h" +#include "headers/server.h" +#include "utils/fs.h" +#include "utils/time.h" + +void capture_to_file(char *path) { + char command[128]; + sprintf(command, "tshark -i %s -f \"src host %s\" -w %s", INTERFACE, SERVER_IP, path); + system(command); +} + +void capturing_mode(char *path) { + if (path != NULL) { + capture_to_file(path); + return; + } + + char capture_dir[256], new_path[256], date_time[128]; + get_capture_dir(capture_dir); + get_date_time_string(date_time); + sprintf(new_path, "%s/capture-%s.pcap", capture_dir, date_time); + capture_to_file(new_path); +} diff --git a/analyzer/capture.h b/analyzer/capture.h new file mode 100644 index 0000000..648e5ad --- /dev/null +++ b/analyzer/capture.h @@ -0,0 +1,8 @@ +// capture.h +// functions for capturing packets using tshark + +// starts capturing mode +// params: +// - path - file path to capture the .pcap file to, +// if NULL, saves it to default capture directory as capture-<date>_<time>.pcap +extern void capturing_mode(char *path); |
