Compare commits

..

3 Commits

Author SHA1 Message Date
dr-wh0 ba5b20a8fe bugfix: add telegram msg 2025-05-11 12:39:59 +00:00
dr-wh0 97e8a6b2e0 Merge remote-tracking branch 'origin/dev' into bugfix/telegram 2025-05-11 12:32:46 +00:00
dr-wh0 bca0037807 bugfix: Решение проблемы с логированием, доработка лога и рефакторинг кода (#28)
1. Решает issue #26

2. Обновлённый формат логов:
```
drwho@ubuntu:~/PycharmProjects/dos$ cat /var/log/DosAtk
[2025-05-08 23:42:50.704] Starting DosAtk | Type: TCP SYN flood | Sent 1000 requests | Stopping DosAtk [2025-05-08 23:42:50.723]
[2025-05-08 23:43:07.943] Starting DosAtk | Type: UDP port scan | Sent 1000 requests | Stopping DosAtk [2025-05-08 23:43:07.957]
[2025-05-08 23:43:21.388] Starting DosAtk | Type: TCP SYN flood | Sent 1000 requests | Stopping DosAtk [2025-05-08 23:43:21.407]
[2025-05-08 23:43:35.619] Starting DosAtk | Type: UDP port scan | Sent 1000 requests | Stopping DosAtk [2025-05-08 23:43:35.637]
[2025-05-08 23:54:52.170] Starting DosAtk | Stopping DosAtk [2025-05-08 23:54:52.170]
[2025-05-08 23:55:45.017] Starting DosAtk | Type: TCP SYN flood | Sent 1000 requests | Stopping DosAtk [2025-05-08 23:55:45.037]

```
![image](/attachments/04c4de29-6903-440b-9926-710489deb5dd)

3. Использование scan-атаки:
```
drwho@ubuntu:~/PycharmProjects/dos$ sudo ./DosAtk -a scan -i 127.0.0.1
start my_check_params
Starting DosAtk at 2025-05-09 00:12:38.324
end my_check_params
start my_dns
end my_dns
start my_udp
end my_udp
start my_log
end my_log
start my_fin
Worked for 0.015 seconds
Sent 1000 requests (1000 ok, 0 failed)
DosAtk stopped at 2025-05-09 00:12:38.339
end my_fin
```
![image](/attachments/5ba46d05-00b5-4691-8a61-6d58f7a7824b)

4. Использование flood-атаки:
```
drwho@ubuntu:~/PycharmProjects/dos$ sudo ./DosAtk -a flood -i 127.0.0.1 -p 800
start my_check_params
Starting DosAtk at 2025-05-08 23:56:31.850
end my_check_params
start my_dns
end my_dns
start my_tcp_syn
end my_tcp_syn
start my_log
end my_log
start my_fin
Worked for 0.019 seconds
Sent 1000 requests (1000 ok, 0 failed)
DosAtk stopped at 2025-05-08 23:56:31.869
end my_fin
```
![image](/attachments/584eb9d3-88d3-4741-8dc2-a7579e79f536)

5. Небольшой рефакторинг кода, обновление в соответствии с актуальной блок-схемой

Reviewed-on: https://gitea.serafimdev.com/serafim/dos/pulls/28
Reviewed-by: serafim <simasuh@gmail.com>
Co-authored-by: dr-wh0 <79003667309@yandex.ru>
Co-committed-by: dr-wh0 <79003667309@yandex.ru>
2025-05-09 15:45:22 +03:00
1 changed files with 4 additions and 0 deletions

View File

@ -527,6 +527,7 @@ int my_log()
// Если путь к лог-файлу не указан
if(log_file.empty()) {
printf("end my_log\n"); // debug
msg = "ОШИБКА ЗАПИСИ В ЛОГ: Путь к лог-файлу не найден!";
return 1;
}
@ -536,6 +537,7 @@ int my_log()
// Проверка успешности открытия файла
if(!log_stream.is_open()) {
printf("end my_log\n"); // debug
msg = "ОШИБКА ЗАПИСИ В ЛОГ: Не удалось открыть лог-файл!";
return 1;
}
@ -551,6 +553,7 @@ int my_log()
// Переименование файла
if(rename(log_file.c_str(), rotated_log_name.c_str()) != 0) {
printf("end my_log\n"); // debug
msg = "ОШИБКА ЗАПИСИ В ЛОГ: Ошибка при ротации лога - не удалось преименовать файл!";
return 1;
}
@ -558,6 +561,7 @@ int my_log()
log_stream.open(log_file, std::ios::app);
if(!log_stream.is_open()) {
printf("end my_log\n"); // debug
msg = "ОШИБКА ЗАПИСИ В ЛОГ: Ошибка при ротации лога - не удалось открыть новый файл!";
return 1;
}
}