Skip to content

Commit 0dcf5b1

Browse files
committed
fix_bugs-RELEASE
1 parent 187a11b commit 0dcf5b1

3 files changed

Lines changed: 144 additions & 9 deletions

File tree

README.md

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<div align="center">
44

5-
![Version](https://img.shields.io/badge/Версия-3.0.0-blue?style=for-the-badge)
5+
![Version](https://img.shields.io/badge/Версия-3.1.0-blue?style=for-the-badge)
66
![Qt](https://img.shields.io/badge/Qt-6.8.2-green?style=for-the-badge&logo=qt)
77
![C++](https://img.shields.io/badge/C++-17-00599C?style=for-the-badge&logo=cplusplus)
88
![Docker](https://img.shields.io/badge/Docker-Поддерживается-2496ED?style=for-the-badge&logo=docker)
@@ -22,7 +22,62 @@
2222

2323
> **Примечание:** Готовый исполняемый файл содержит все необходимые библиотеки и может быть запущен на любом компьютере с Windows без установки Qt или других зависимостей.
2424
25-
## ✨ Новые функции и улучшения в версии 3.0.0
25+
### 🔧 Настройка для обнаружения сканирования портов с других компьютеров
26+
27+
Для корректного обнаружения сканирования портов и других атак с других компьютеров в сети необходимо:
28+
29+
1. **Запустить программу от имени администратора** — это необходимо для работы в режиме promiscuous
30+
2. **Установить Npcap** — скачайте и установите [Npcap](https://nmap.org/npcap/) с официального сайта
31+
- При установке выберите опцию 'Install Npcap in WinPcap API-compatible Mode'
32+
- Перезагрузите компьютер после установки
33+
3. **Выбрать правильный сетевой адаптер** — используйте физический сетевой адаптер, а не виртуальный
34+
- Убедитесь, что выбранный адаптер поддерживает режим promiscuous
35+
- Для Wi-Fi адаптеров может потребоваться включение режима мониторинга в настройках драйвера
36+
4. **Проверить настройки сети** — некоторые сетевые коммутаторы могут блокировать режим promiscuous
37+
- В корпоративных сетях может потребоваться настройка порта коммутатора для работы в режиме зеркалирования (port mirroring)
38+
39+
> **Важно:** Если вы не видите пакеты с других компьютеров в сети, проверьте, что все вышеперечисленные условия выполнены.
40+
41+
### 📡 Режим Promiscuous и ограничения сетевых коммутаторов
42+
43+
#### Что такое режим Promiscuous?
44+
Режим Promiscuous позволяет сетевому адаптеру захватывать все пакеты в сети, а не только те, которые адресованы непосредственно этому компьютеру. Это необходимо для обнаружения сканирования портов и других атак с других компьютеров в сети.
45+
46+
#### Ограничения сетевых коммутаторов
47+
В современных сетях с коммутаторами (switches) существуют ограничения на видимость пакетов:
48+
49+
1. **Коммутаторы vs. Хабы:**
50+
- **Хабы (устаревшие)** отправляют все пакеты на все порты, что позволяет видеть весь трафик
51+
- **Коммутаторы (современные)** отправляют пакеты только на порт назначения, что ограничивает видимость
52+
53+
2. **Решения для работы с коммутаторами:**
54+
- **Port Mirroring (SPAN)** — настройка коммутатора для копирования трафика с одного порта на другой
55+
- **Network TAP** — специальное устройство для перехвата сетевого трафика
56+
- **ARP Spoofing** — техника перенаправления трафика (не рекомендуется в производственных сетях)
57+
58+
3. **Домашние сети:**
59+
- В домашних сетях с Wi-Fi роутерами обычно трудно увидеть трафик других устройств
60+
- Для тестирования можно использовать тестовый режим программы
61+
62+
> **Рекомендация:** Если вам нужно обнаруживать атаки в реальной сети, рассмотрите возможность установки IDS на пограничном устройстве (например, на маршрутизаторе) или настройте port mirroring на коммутаторе.
63+
64+
## ✨ Новые функции и улучшения в версии 3.1.0
65+
66+
### 🔍 Улучшенное обнаружение внешних угроз
67+
- **Режим Promiscuous** — улучшена поддержка режима захвата всех пакетов в сети
68+
- **Обнаружение внешних сканирований** — система теперь может обнаруживать сканирование портов с других компьютеров в сети
69+
- **Определение локальных и внешних IP** — автоматическое определение локальных IP-адресов для точного обнаружения внешних угроз
70+
- **Расширенная отладочная информация** — подробное логирование для диагностики проблем с захватом пакетов
71+
- **Улучшенная обработка TCP пакетов** — более точное обнаружение сканирования портов и других атак
72+
73+
### 🛠️ Технические улучшения
74+
- **Оптимизация захвата пакетов** — увеличен таймаут для лучшего захвата пакетов в сети
75+
- **Проверка поддержки режима Promiscuous** — автоматическая проверка возможностей сетевого адаптера
76+
- **Подробная документация** — добавлена информация о настройке системы для обнаружения внешних угроз
77+
- **Улучшенные сообщения об ошибках** — более информативные сообщения при возникновении проблем
78+
- **Совместимость с различными сетевыми адаптерами** — улучшена поддержка различных типов сетевых адаптеров
79+
80+
## ✨ Функции и улучшения в версии 3.0.0
2681

2782
### 🎨 Современный пользовательский интерфейс
2883
- **Темная тема** — улучшенная читаемость и снижение нагрузки на глаза

src/MainWindow.cpp

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,12 @@ void MainWindow::onStartCapture()
118118
return;
119119
}
120120

121-
// Предупреждаем пользователя о необходимости прав администратора
121+
// Предупреждаем пользователя о необходимости прав администратора и правильного сетевого адаптера
122122
QMessageBox::information(this, "Информация",
123-
"Для захвата всех пакетов в сети необходимо запустить программу от имени администратора.\n\n"
123+
"Для захвата всех пакетов в сети необходимо:\n\n"
124+
"1. Запустить программу от имени администратора\n"
125+
"2. Выбрать правильный сетевой адаптер (физический, а не виртуальный)\n"
126+
"3. Убедиться, что сетевой адаптер поддерживает режим promiscuous\n\n"
124127
"Это позволит обнаруживать сканирование портов и другие атаки с других компьютеров в сети.\n\n"
125128
"Если программа закроется после нажатия OK, перезапустите ее от имени администратора.");
126129

@@ -137,6 +140,7 @@ void MainWindow::onStartCapture()
137140

138141
// Добавляем информацию о режиме захвата
139142
ui->textEditLog->append("<span style='color:#4CAF50;'>Захват пакетов запущен в режиме promiscuous. Система будет обнаруживать сканирование портов и другие атаки с других компьютеров в сети.</span>");
143+
ui->textEditLog->append("<span style='color:#4CAF50;'>Если вы не видите пакеты с других компьютеров, проверьте, что выбран правильный сетевой адаптер и он поддерживает режим promiscuous.</span>");
140144
} else {
141145
// Показываем подробное сообщение об ошибке
142146
QString detailedError = "Не удалось запустить захват пакетов.\n\n";
@@ -149,12 +153,15 @@ void MainWindow::onStartCapture()
149153
detailedError += "1. Npcap не установлен или установлен неправильно\n";
150154
detailedError += "2. У приложения недостаточно прав (запустите от имени администратора)\n";
151155
detailedError += "3. Выбранный сетевой адаптер недоступен или не поддерживается\n";
152-
detailedError += "4. Другое приложение уже использует этот адаптер\n\n";
156+
detailedError += "4. Другое приложение уже использует этот адаптер\n";
157+
detailedError += "5. Сетевой адаптер не поддерживает режим promiscuous\n\n";
153158
detailedError += "Рекомендации:\n";
154159
detailedError += "- Установите Npcap с официального сайта: https://nmap.org/npcap/\n";
155160
detailedError += "- При установке выберите опцию 'Install Npcap in WinPcap API-compatible Mode'\n";
156161
detailedError += "- Перезагрузите компьютер после установки Npcap\n";
157-
detailedError += "- Запустите приложение от имени администратора";
162+
detailedError += "- Запустите приложение от имени администратора\n";
163+
detailedError += "- Выберите физический сетевой адаптер, а не виртуальный\n";
164+
detailedError += "- Проверьте, что сетевой адаптер поддерживает режим promiscuous";
158165

159166
QMessageBox msgBox;
160167
msgBox.setIcon(QMessageBox::Critical);

0 commit comments

Comments
 (0)