NetWatch Pro is a comprehensive, production-ready network monitoring system designed for cybersecurity professionals, network administrators, and IT teams. Built with modern web technologies and featuring a professional-style interface, NetWatch Pro provides real-time network analysis, security monitoring, and infrastructure management capabilities.
- Real-time Network Monitoring - Live traffic analysis and device discovery
- Advanced Security Center - Threat detection and incident response
- Professional Interface - Dark theme with cyber-security aesthetics
- Comprehensive Analytics - Performance metrics and compliance reporting
- Multi-user Support - Role-based access control and user management
- Open Source - MIT licensed and community-driven
- Automatic device detection and fingerprinting
- Network topology mapping with interactive visualization
- Device classification (workstations, servers, mobile devices, IoT)
- OS detection and service identification
- SNMP-based device monitoring
- TCP/UDP port scanning with customizable ranges
- Service banner grabbing and version detection
- Vulnerability assessment and CVE mapping
- Stealth scanning options
- Comprehensive scan reporting
- Deep packet inspection and protocol analysis
- Bandwidth monitoring and utilization tracking
- Top talkers identification
- Traffic anomaly detection
- Real-time flow analysis
- Interactive network visualization
- Logical and physical topology views
- Layer 2/3 network mapping
- Device relationship tracking
- Export capabilities for documentation
- Advanced threat detection engine
- Real-time security event monitoring
- Intrusion detection and prevention
- Malware detection and quarantine
- DDoS attack mitigation
- Multi-channel notifications (Email, SMS, Slack)
- Customizable alert rules and thresholds
- Alert escalation and acknowledgment
- Incident response workflows
- Alert correlation and deduplication
- Application and service availability checks
- Performance monitoring and SLA tracking
- Health check automation
- Service dependency mapping
- Uptime and response time tracking
- Centralized logging with advanced filtering
- Log correlation and analysis
- Security event logging
- Audit trail maintenance
- Log retention and archiving
- ISO 27001, SOC 2, GDPR, HIPAA, PCI DSS tracking
- Compliance reporting and documentation
- Risk assessment and scoring
- Policy enforcement monitoring
- Audit preparation tools
- Performance metrics and trend analysis
- Predictive insights with AI-powered analytics
- Custom dashboard creation
- Real-time data visualization
- Historical data analysis
- Live network metrics and KPIs
- Interactive charts and graphs
- Customizable widget layouts
- Multi-screen support
- Mobile-responsive design
- Automated report generation
- Scheduled report delivery
- Export capabilities (PDF, CSV, JSON)
- Template-based reporting
- Executive summary reports
- Administrator - Full system access and configuration
- Analyst - Network monitoring and analysis capabilities
- Operator - Basic monitoring and operational tasks
- Viewer - Read-only access to dashboards
- Secure login with session management
- Two-factor authentication (2FA) support
- Password policy enforcement
- User activity tracking
- Session timeout controls
- Comprehensive audit trails
- Login/logout monitoring
- Action logging and accountability
- Security event correlation
- Compliance reporting
- Network configuration and scanning parameters
- Security policies and thresholds
- Alert rules and notification channels
- User management and permissions
- System maintenance and backup
- English, Spanish, French, German, Japanese, Chinese
- Localized interface and documentation
- Cultural date/time formatting
- Regional compliance standards
- Dark, light, and auto themes
- Cyber-security color schemes
- Customizable layouts
- Accessibility options
- Brand customization
- React 18 - Modern component-based UI framework
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS framework with custom cyber theme
- Recharts - Advanced data visualization and charting
- Lucide React - Beautiful and consistent icons
- React Router DOM - Client-side routing
- Vite - Fast build tool and development server
- ESLint - Code linting and quality assurance
- PostCSS - CSS processing and optimization
- Autoprefixer - CSS vendor prefixing
- Responsive Design - Mobile-first approach with breakpoints
- Dark Theme - Professional cybersecurity interface
- Accessibility - WCAG 2.1 compliant
- Performance Optimized - Lazy loading and code splitting
Before installing NetWatch Pro, ensure you have the following installed:
- Node.js 18.0.0 or higher
- npm 8.0.0 or higher (or yarn 1.22.0+)
- Git for version control
-
Clone the Repository
git clone https://github.com/odaysec/NetWatch.git cd NetWatch
-
Install Dependencies
npm install
-
Start Development Server
npm run dev
-
Access the Application Open your browser and navigate to
http://localhost:5173
-
Build for Production
npm run build
-
Preview Production Build
npm run preview
-
Deploy The
dist
folder contains the production-ready files that can be deployed to any static hosting service.
NetWatch/
βββ public/ # Static assets
βββ src/ # Source code
β βββ components/ # Reusable UI components
β β βββ Layout.tsx # Main application layout
β βββ pages/ # Application pages/views
β β βββ Dashboard.tsx # Main dashboard
β β βββ NetworkDiscovery.tsx # Network discovery tools
β β βββ TrafficAnalysis.tsx # Traffic monitoring
β β βββ PortScanner.tsx # Port scanning tools
β β βββ ServiceMonitor.tsx # Service monitoring
β β βββ TopologyMap.tsx # Network topology
β β βββ SecurityCenter.tsx # Security operations
β β βββ AlertManager.tsx # Alert management
β β βββ Analytics.tsx # Advanced analytics
β β βββ UserManagement.tsx # User administration
β β βββ Logs.tsx # Log management
β β βββ Settings.tsx # System configuration
β βββ App.tsx # Main application component
β βββ main.tsx # Application entry point
β βββ index.css # Global styles
βββ docs/ # Documentation
βββ package.json # Project dependencies
βββ tailwind.config.js # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
βββ vite.config.ts # Vite build configuration
βββ README.md # Project documentation
![]() |
![]() |
---|---|
NCC Dashboard | Service Monitor |
![]() |
![]() |
---|---|
Advance Analytics | Advance Port Scanner |
![]() |
![]() |
---|---|
Traffic Analysis | Security Center |
![]() |
![]() |
---|---|
Network Topology | Network Discovery |
Create a .env
file in the root directory:
# Application Configuration
VITE_APP_NAME=NetWatch Pro
VITE_APP_VERSION=1.0.0
# API Configuration
VITE_API_URL=http://localhost:3001
VITE_WEBSOCKET_URL=ws://localhost:3001
# Security Configuration
VITE_SESSION_TIMEOUT=3600
VITE_MAX_LOGIN_ATTEMPTS=5
# Feature Flags
VITE_ENABLE_2FA=true
VITE_ENABLE_AUDIT_LOGGING=true
Configure default network settings in the Settings page:
- Default Subnet: Set your primary network range (e.g.,
192.168.1.0/24
) - Scan Intervals: Configure automatic discovery intervals
- SNMP Communities: Set up SNMP access for device monitoring
- Port Ranges: Define default port scanning ranges
- Session Management: Configure timeout and security policies
- Two-Factor Authentication: Enable 2FA for enhanced security
- Password Policies: Set complexity requirements
- Audit Logging: Enable comprehensive activity tracking
// Start network discovery scan
POST /api/scan/network
{
"target": "192.168.1.0/24",
"type": "tcp",
"ports": "1-1000",
"timeout": 30
}
// Get scan results
GET /api/scan/results/:scanId
// Get all discovered devices
GET /api/devices
// Get specific device details
GET /api/devices/:deviceId
// Update device information
PUT /api/devices/:deviceId
{
"hostname": "updated-hostname",
"tags": ["server", "production"]
}
// Get active alerts
GET /api/alerts?status=active&severity=high
// Create alert rule
POST /api/alerts/rules
{
"name": "High CPU Usage",
"condition": "cpu > 85",
"severity": "critical",
"actions": ["email", "slack"]
}
// Acknowledge alert
POST /api/alerts/:alertId/acknowledge
// Get all users
GET /api/users
// Create new user
POST /api/users
{
"username": "newuser",
"email": "user@company.com",
"role": "analyst",
"permissions": ["network_monitor", "alert_view"]
}
-
Fork the Repository
git fork https://github.com/odaysec/NetWatch.git
-
Create Feature Branch
git checkout -b feature/amazing-feature
-
Make Changes and Test
npm run dev npm run lint
-
Commit Changes
git commit -m 'Add amazing feature'
-
Push and Create PR
git push origin feature/amazing-feature
- Use TypeScript for all new code
- Follow ESLint configuration
- Use Prettier for code formatting
- Write meaningful commit messages
- Add tests for new features
- Update documentation
- Bug Fixes - Fix issues and improve stability
- Feature Additions - Add new monitoring capabilities
- Documentation - Improve docs and code comments
- Performance - Optimize code and reduce resource usage
- UI/UX - Enhance user interface and experience
- Security - Improve security features and practices
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage
npm run test:coverage
src/
βββ __tests__/ # Test files
βββ components/
β βββ __tests__/ # Component tests
βββ pages/
βββ __tests__/ # Page tests
-
Build the Application
npm run build
-
Deploy to Hosting Service
- Netlify: Drag and drop the
dist
folder - Vercel: Connect your GitHub repository
- GitHub Pages: Use GitHub Actions workflow
- AWS S3: Upload to S3 bucket with static hosting
- Netlify: Drag and drop the
# Dockerfile
FROM node:18-alpine as builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
# Build and run Docker container
docker build -t netwatch-pro .
docker run -p 80:80 netwatch-pro
# Development build
npm run build:dev
# Staging build
npm run build:staging
# Production build
npm run build:prod
- Authentication: Always use strong passwords and enable 2FA
- Network Access: Restrict access to monitoring interfaces
- Data Encryption: Enable HTTPS in production environments
- Regular Updates: Keep dependencies and system updated
- Audit Logging: Monitor all user activities and system events
- Session Management: Automatic timeout and secure cookies
- Input Validation: Comprehensive input sanitization
- CSRF Protection: Cross-site request forgery prevention
- XSS Protection: Cross-site scripting mitigation
- Rate Limiting: API request throttling
- Code Splitting: Lazy loading of components
- Bundle Analysis: Webpack bundle analyzer
- Image Optimization: Compressed and responsive images
- Caching: Browser and CDN caching strategies
- Minification: CSS and JavaScript compression
- Real-time Metrics: Live performance monitoring
- Resource Usage: CPU, memory, and network tracking
- Response Times: API and page load optimization
- Error Tracking: Comprehensive error logging
NetWatch Pro supports all modern browsers:
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
- Opera 76+
- Responsive Design: Optimized for all screen sizes
- Touch Interface: Mobile-friendly interactions
- Progressive Web App: PWA capabilities
- Offline Support: Limited offline functionality
- GitHub Repository: https://github.com/odaysec/NetWatch
- Live Demo: netwatchpro-testprod
- Documentation: https://docs.netwatch-pro.com
- Issue Tracker: https://github.com/odaysec/NetWatch/issues
- Discussions: https://github.com/odaysec/NetWatch/discussions
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2024 odaysec
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
- React Team - For the amazing React framework
- Tailwind CSS - For the utility-first CSS framework
- Lucide - For the beautiful icon library
- Recharts - For the powerful charting library
- Vite - For the fast build tool
- Open Source Community - For inspiration and contributions
Built with β€οΈ by odaysec
β Star this project if you find it useful!
NetWatch Pro - Professional Network Monitoring for the Modern Enterprise