Marius Mutu 48db3a11d0 Enhance Windows network scanning with improved device discovery
- Add ARP-first scanning approach to find devices that don't respond to ping
- Implement local host MAC address detection for Windows host machines
- Support multiple network prefix lengths (/16, /20, /24) with proper network calculation
- Add Get-LocalHostMacAddress function with 3 detection methods:
  * Direct IP-to-adapter matching via Get-NetIPAddress/Get-NetAdapter
  * WMI-based detection via Win32_NetworkAdapterConfiguration
  * Same-subnet fallback detection
- Skip ping for devices already found in ARP table (performance improvement)
- Improved detection of host.docker.internal MAC addresses

This resolves issues where local Windows host devices were found without MAC addresses,
enabling proper Wake-on-LAN functionality for all network devices including the host machine.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 22:42:41 +03:00

Wake-on-LAN Manager

Aplicație web pentru managementul și trezirea calculatoarelor din rețeaua locală folosind Wake-on-LAN magic packets.

Funcționalități

  • 🚀 Interfață web modernă pentru gestionarea calculatoarelor
  • Trimitere magic packets Wake-on-LAN
  • 🔍 Scanare automată a rețelei pentru detectarea dispozitivelor
  • 🖥️ Scanare separată Windows - script PowerShell optimizat pentru scanarea precisă din Windows
  • 📱 Design responsive (mobile-friendly)
  • 🐳 Containerizată cu Docker pentru deployment ușor

Instalare și Pornire

Prima pornire (recomandat)

./start.sh

Manual cu Docker Compose

# Creează directorul pentru date
mkdir -p data

# Pornește serviciile
docker compose up -d

# Vezi logs
docker compose logs -f wol-web

# Oprește serviciile
docker compose down

Accesare

Aplicația va fi disponibilă pe: http://IP_HOST:5000

Structura Proiectului

├── app/                # Directorul aplicației
│   ├── app.py          # Aplicația Flask principală
│   ├── requirements.txt # Dependințele Python
│   └── templates/
│       └── index.html  # Interfața web
├── scripts/           # Script-uri pentru scanarea Windows
│   ├── windows-network-scan.ps1  # Script PowerShell pentru scanare
│   └── run-scan.ps1              # Wrapper pentru scanare
├── Dockerfile         # Configurație Docker
├── docker-compose.yml # Orchestrare servicii
├── start.sh          # Script de pornire rapidă
├── CLAUDE.md         # Ghid pentru Claude Code
└── data/             # Directorul pentru configurații (creat automat)

Scanare Rețea

Scanare automată din container (limitată)

Aplicația poate scana automat din container, dar cu limitări în Docker Desktop pe Windows.

Scanare separată Windows (recomandată)

Pentru rezultate complete, rulează script-ul PowerShell din Windows:

# Scanare cu meniu interactiv
scripts\windows-network-scan.ps1

# Scanare rețea specificată
scripts\windows-network-scan.ps1 -Network "192.168.1.0/24"

# Cu opțiuni avansate
scripts\windows-network-scan.ps1 -Network "192.168.100.0/24" -TimeoutMs 500 -BatchSize 20 -Verbose

Funcționalități script Windows:

  • 🔍 Detectare automată rețele locale
  • 📋 Meniu interactiv pentru selecția rețelei
  • Scanare paralelizată cu batch-uri configurabile
  • 🏷️ Rezolvare hostname-uri
  • 📊 Afișare progres în timp real
  • 💾 Salvare rezultate în JSON pentru aplicația web

Rezultatele scanului sunt salvate în data/network-scan-results.json și citite automat de aplicația web.

Configurare

Calculatoarele sunt stocate în fișierul data/wol-computers.conf cu formatul:

nume_calculator|adresa_mac|adresa_ip

Exemplu:

PC-Birou|00:11:22:33:44:55|192.168.1.100
Laptop-Gaming|aa:bb:cc:dd:ee:ff|192.168.1.101
Description
No description provided
Readme 124 KiB
Languages
PowerShell 28.9%
Python 26.3%
JavaScript 24.8%
CSS 13.4%
HTML 5.8%
Other 0.8%