A professional network diagnostic tool for IT technicians that provides instant access to network information and automated troubleshooting without opening Windows settings, command prompts, or installing additional tools.
- Technician-First Design: Built for IT professionals who need quick, actionable information
- Information Clarity: Present network data in a clear, hierarchical manner
- Intelligent Diagnosis: Automatically detect and report common network issues
- Speed & Efficiency: One-click access to all diagnostic tools
- Zero Dependencies: Self-contained tool requiring no additional installations
- Move "Exit" option to File menu (remove from footer)
- Keep File and Help menus minimal
- Remove redundant UI elements
Goal: Professional card-based layout showing network adapters with intelligent sorting
- Active Adapters First: Sort active (connected) adapters to top
- Inactive Adapters Below: Disabled/disconnected adapters at bottom
- Internet Connectivity Indicator:
- Round green indicator (●) in top-right when internet is available
- Round red indicator (●) when no internet connectivity
- Round yellow indicator (●) for local network only (no internet)
- Logic: Ping test to 8.8.8.8 or connectivity check
┌─────────────────────────────────────┐
│ Ethernet ● Active │
│ ─────────────────────────────────── │
│ IP Address: 192.168.1.10 │
│ MAC Address: XX-XX-XX-XX-XX-XX │
│ Gateway: 192.168.1.1 │
│ DNS Servers: 8.8.8.8, 8.8.4.4 │
└─────────────────────────────────────┘
def check_internet_connectivity():
# 1. Check if any adapter has IP (not 169.254.x.x - APIPA)
# 2. Ping gateway (local network test)
# 3. Ping 8.8.8.8 or DNS resolution test (internet test)
# Return: "internet", "local_only", "no_connection"Implement intelligent analysis to detect and report:
-
No IP Address / APIPA Address
- Detection: IP starts with 169.254
- Message: "DHCP server not responding. Try ipconfig /renew"
- Solution: Suggest DHCP renewal
-
DNS Resolution Failure
- Detection: Can ping 8.8.8.8 but cannot resolve domain names
- Message: "DNS servers not responding. Internet inaccessible despite network connection"
- Solution: Suggest changing DNS to 8.8.8.8/8.8.4.4
-
Gateway Unreachable
- Detection: Have IP but cannot ping gateway
- Message: "Cannot reach gateway. Local network issue"
- Solution: Check cable/WiFi connection
-
IP Conflict
- Detection: Duplicate IP on network (ARP check)
- Message: "IP address conflict detected"
- Solution: Renew DHCP lease or set static IP
-
No Default Gateway
- Detection: IP assigned but no gateway configured
- Message: "No default gateway. Cannot access other networks"
- Solution: Check DHCP settings
-
Subnet Mismatch
- Detection: IP and gateway on different subnets
- Message: "IP address and gateway subnet mismatch"
- Solution: Reconfigure network settings
-
Multiple Active Adapters
- Detection: Multiple adapters with active connections
- Message: "Multiple active network adapters may cause routing issues"
- Solution: Disable unused adapters
Add a new "Diagnostics" section showing:
- ✅ Internet Connectivity: OK / ISSUE
- ✅ DNS Resolution: OK / ISSUE
- ✅ Gateway Reachability: OK / ISSUE
- ✅ IP Configuration: OK / ISSUE
- ✅ Warnings (if any)
- ✅ Critical Issues (if any)
Add one-click solutions:
- "Renew IP Address" (ipconfig /renew)
- "Flush DNS Cache" (ipconfig /flushdns)
- "Release IP Address"
- "Reset Network Adapter" (Requires Admin/Netsh)
- Visual trace route to destination
- Hop-by-hop latency display
- Packet loss per hop (via timeout status)
- ARP table viewer
- Active connections monitor
- NetBIOS name resolution
- Bandwidth usage per application (Deferred to Phase 5)
Generate comprehensive network reports:
- Current network configuration
- Detected issues and solutions
- ARP table summary
- Timestamp and computer info
- Text file (quick reference)
- JSON (machine readable - backend support)
- CSV (ARP table - backend support)
- Continuous ping monitoring
- Alert on connectivity loss
- Log network events
- Historical data
- Auto-run diagnostics at intervals
- Email/notification on issues
- Generate periodic reports
Implement a round indicator in the top-right corner of the main window that:
- Shows green (●) when internet is available (can ping 8.8.8.8)
- Shows yellow (●) when only local network works (can ping gateway but not internet)
- Shows red (●) when no network connectivity
- Updates automatically every 10 seconds
- Uses threading to avoid UI freeze
- Displays tooltip on hover showing connectivity status
Modify the network status page to:
1. Sort network adapters with this priority:
- Active adapters with internet (top)
- Active adapters with local network only
- Inactive/disabled adapters (bottom)
2. Within each category, sort alphabetically
3. Maintain sort order on auto-refresh
Create a network diagnostics engine that:
1. Analyzes current network configuration
2. Detects common issues:
- APIPA address (169.254.x.x)
- DNS failure (can ping IP but not domain)
- Gateway unreachable
- IP conflict
- No default gateway
- Subnet mismatch
3. Returns structured data:
{
"status": "ok" | "warning" | "critical",
"issues": [
{
"type": "dns_failure",
"severity": "critical",
"message": "DNS servers not responding",
"solution": "Change DNS to 8.8.8.8 and 8.8.4.4"
}
]
}
Add a diagnostics summary panel to network status page showing:
- Overall status (OK/WARNING/CRITICAL) with color coding
- List of detected issues with icons
- Quick action buttons for common fixes
- Last check timestamp
- Refresh diagnostics button
Design should be clean, professional, and non-intrusive
- Speed: All diagnostic info available within 2 seconds
- Accuracy: 95%+ accuracy in issue detection
- Usability: IT technician can diagnose issue in < 30 seconds
- Reliability: No crashes, proper error handling
- Performance: Minimal CPU/memory usage during monitoring
- ✅ Phase 1.1: Menu structure
- ✅ Phase 1.2: Network status enhancement (Sorting & Indicator)
- ✅ Phase 1.3: Status indicator
- ✅ Phase 2: Intelligent diagnostics
- ✅ Phase 3.1: Quick Actions
- ✅ Phase 3.2: Visual Trace Route
- ✅ Phase 3.3: Advanced Diagnostics
- ✅ Phase 4: Reporting & Export
- ⏸️ Phase 5: Remote Monitoring (Deferred to v2.0)
All planned core features have been implemented, tested, and documented. The project is now in Stable Release state.