Hệ thống giám sát – rà soát lỗ hổng an toàn mạng
🎯 Mục tiêu
- Giám sát mạng nội bộ theo thời gian thực.
- Tự động quét cổng, phát hiện lỗ hổng và IOC (dấu hiệu bị xâm nhập).
- Gửi cảnh báo tức thì qua Telegram.
- Tối ưu chi phí bằng mã nguồn mở.
⚙️ Kiến trúc hệ thống
Hệ thống theo mô hình Client – Server – Monitor:
| Thành phần | Vai trò |
|---|---|
clientt.py |
Thu thập IP, hostname, IOC từ máy cần giám sát |
serverr.py |
Nhận dữ liệu, điều phối quét Nmap & Nuclei, hiển thị web |
monitor.py |
Theo dõi kết quả quét, gửi cảnh báo Telegram |
🔧 Công nghệ sử dụng
- Python 3.7+, Flask, Flask-SocketIO, Requests, Threading
- Nmap: Quét cổng mạng
- Nuclei: Rà soát lỗ hổng theo template
- Telegram Bot API: Gửi cảnh báo
- Socket TCP/IP: Kết nối client-server
📋 Các module chính
| Module | Chức năng |
|---|---|
vhascannmap.py |
Dùng thư viện python-nmap để scan port |
vhascannuclei.py |
Tích hợp Nuclei theo dịch vụ từ Nmap |
vhascanioc.py |
Phát hiện IOC bằng netstat |
cleanip.py |
Dọn dữ liệu cũ |
templates/ |
Giao diện Flask Web |
scan_results/, nuclei_results/ |
Lưu kết quả quét |
🌐 Giao diện web
- Hiển thị danh sách IP, cổng mở, lỗ hổng theo thời gian thực.
- Cho phép truy cập chi tiết từng IP → cập nhật status liên tục qua
SocketIO.
🚨 Cảnh báo Telegram
- Khi có IP lạ, IOC bất thường hoặc lỗ hổng mới → tự động gửi alert đến Telegram người quản trị.
- Dùng proxy Cloudflare để gửi cảnh báo khi bị chặn tại Việt Nam.
🧪 Mô phỏng kết quả
- Server và Client hoạt động ổn định.
- Thời gian quét tối ưu: Chỉ scan các port đang mở thay vì toàn bộ.
- Cảnh báo thời gian thực → Telegram.
✅ Kết luận
- Hệ thống hoạt động ổn định, có thể triển khai cho các doanh nghiệp nhỏ/mạng nội bộ.
- Giao diện dễ dùng, chi phí thấp, phù hợp môi trường học thuật và thực tế.
- Có thể phát triển thêm API REST, dashboard nâng cao, báo cáo PDF…
Yêu cầu hệ thống
- Python 3.x
- Thư viện Python:
flask,flask-socketio,requests,watchdog,nmap,psutil - Đã cài sẵn công cụ Nmap và Nuclei trên máy chủ
Cài đặt
-
Cài Python và thư viện cần thiết:
pip install python-nmap watchdog flask flask-socketio requests psutil - Cài đặt Nmap và Nuclei
- Tải mã nguồn hệ thống và giải nén
Khởi động hệ thống
-
Khởi động server:
start_server.bat -
Khởi động client trên các máy cần giám sát:
start_client.bat
Cấu hình
- Thêm IP cần giám sát: chỉnh sửa file
ip.txt - Thêm IP đáng ngờ để theo dõi IOC: chỉnh sửa file
ioc_sv.txt - Cấu hình Telegram bot token và chat ID: chỉnh trong
monitor.py
map






