@echo off chcp 65001 >nul setlocal enabledelayedexpansion :: ═══════════════════════════════════════════════════════════════════ :: NETWORK DIAGNOSTIC ULTIMATE v1.0 :: Analyse complète réseau : Interfaces, VPN, DNS, Routes, Devices, Latency :: ═══════════════════════════════════════════════════════════════════ set OUTPUT_DIR=%~dp0network_analysis set TIMESTAMP=%date:~-4%%date:~3,2%%date:~0,2%_%time:~0,2%%time:~3,2%%time:~6,2% set TIMESTAMP=%TIMESTAMP: =0% set REPORT=%OUTPUT_DIR%\network_report_%TIMESTAMP%.txt set HTML_REPORT=%OUTPUT_DIR%\network_report_%TIMESTAMP%.html :: Create output directory if not exist "%OUTPUT_DIR%" mkdir "%OUTPUT_DIR%" echo ╔════════════════════════════════════════════════════════════════╗ echo ║ NETWORK DIAGNOSTIC ULTIMATE - Starting... ║ echo ╚════════════════════════════════════════════════════════════════╝ echo. echo [*] Output: %REPORT% echo [*] HTML Report: %HTML_REPORT% echo. :: Start TXT report ( echo ═══════════════════════════════════════════════════════════════════ echo NETWORK DIAGNOSTIC REPORT - %date% %time% echo ═══════════════════════════════════════════════════════════════════ echo. ) > "%REPORT%" :: Start HTML report ( echo ^ echo ^ echo ^
echo ^ echo ^Generated: %date% %time%^
) > "%HTML_REPORT%" :: ═══════════════════════════════════════════════════════════════════ :: SECTION 1: SYSTEM INFORMATION :: ═══════════════════════════════════════════════════════════════════ echo [1/15] Collecting System Information... ( echo. echo ═══ 1. SYSTEM INFORMATION ═══ echo. systeminfo | findstr /C:"Host Name" /C:"OS Name" /C:"OS Version" /C:"System Type" echo. ) >> "%REPORT%" ( echo ^^Host Name:^ %%a^
>> "%HTML_REPORT%" ) for /f "tokens=2 delims=:" %%a in ('systeminfo ^| findstr /C:"OS Name"') do ( echo ^^OS:^ %%a^
>> "%HTML_REPORT%" ) echo ^ipconfig /all echo ^) >> "%HTML_REPORT%" :: ═══════════════════════════════════════════════════════════════════ :: SECTION 3: ACTIVE CONNECTIONS :: ═══════════════════════════════════════════════════════════════════ echo [3/15] Listing Active Connections... ( echo. echo ═══ 3. ACTIVE NETWORK CONNECTIONS ═══ echo. netstat -ano | findstr ESTABLISHED echo. ) >> "%REPORT%" ( echo ^
netstat -ano | findstr ESTABLISHED echo ^) >> "%HTML_REPORT%" :: ═══════════════════════════════════════════════════════════════════ :: SECTION 4: ROUTING TABLE :: ═══════════════════════════════════════════════════════════════════ echo [4/15] Dumping Routing Table... ( echo. echo ═══ 4. ROUTING TABLE ═══ echo. route print echo. ) >> "%REPORT%" ( echo ^
route print echo ^) >> "%HTML_REPORT%" :: ═══════════════════════════════════════════════════════════════════ :: SECTION 5: ARP CACHE (Connected Devices) :: ═══════════════════════════════════════════════════════════════════ echo [5/15] Checking ARP Cache (Local Devices)... ( echo. echo ═══ 5. ARP CACHE - LOCAL DEVICES ═══ echo. arp -a echo. ) >> "%REPORT%" ( echo ^
Devices detected on your local network:^
echo ^arp -a echo ^) >> "%HTML_REPORT%" :: ═══════════════════════════════════════════════════════════════════ :: SECTION 6: DNS CONFIGURATION :: ═══════════════════════════════════════════════════════════════════ echo [6/15] Analyzing DNS Configuration... ( echo. echo ═══ 6. DNS CONFIGURATION ═══ echo. ipconfig /displaydns | more echo. nslookup google.com echo. nslookup baidu.com echo. ) >> "%REPORT%" ( echo ^
nslookup google.com echo ^echo ^
nslookup baidu.com echo ^) >> "%HTML_REPORT%" :: ═══════════════════════════════════════════════════════════════════ :: SECTION 7: VPN DETECTION :: ═══════════════════════════════════════════════════════════════════ echo [7/15] Detecting VPN Connections... ( echo. echo ═══ 7. VPN DETECTION ═══ echo. echo --- RAS Connections --- rasdial echo. echo --- Network Adapters (VPN Search) --- ipconfig /all | findstr /I "VPN TAP Tunnel WireGuard OpenVPN" echo. echo --- PowerShell VPN Check --- powershell -Command "Get-VpnConnection 2>$null | Format-Table Name, ConnectionStatus, ServerAddress" echo. ) >> "%REPORT%" ( echo ^
powershell -Command "Get-VpnConnection 2>$null | Format-Table Name, ConnectionStatus, ServerAddress" echo ^echo ^
ipconfig /all | findstr /I "VPN TAP Tunnel WireGuard OpenVPN" echo ^echo ^
^Default Gateway:^ %GATEWAY%^
echo ^ping -n 4 %GATEWAY% echo ^) >> "%HTML_REPORT%" :: ═══════════════════════════════════════════════════════════════════ :: SECTION 9: INTERNET CONNECTIVITY TESTS :: ═══════════════════════════════════════════════════════════════════ echo [9/15] Testing Internet Connectivity... ( echo. echo ═══ 9. INTERNET CONNECTIVITY TESTS ═══ echo. echo --- Google DNS (8.8.8.8) --- ping -n 4 8.8.8.8 echo. echo --- Cloudflare DNS (1.1.1.1) --- ping -n 4 1.1.1.1 echo. echo --- Baidu (China) --- ping -n 4 baidu.com echo. echo --- Google (International) --- ping -n 4 google.com echo. ) >> "%REPORT%" ( echo ^
ping -n 4 8.8.8.8 echo ^echo ^
ping -n 4 1.1.1.1 echo ^echo ^
ping -n 4 baidu.com echo ^) >> "%HTML_REPORT%" :: ═══════════════════════════════════════════════════════════════════ :: SECTION 10: TRACEROUTE :: ═══════════════════════════════════════════════════════════════════ echo [10/15] Running Traceroute... ( echo. echo ═══ 10. TRACEROUTE ANALYSIS ═══ echo. echo --- Trace to Google (8.8.8.8) --- tracert -d -h 15 8.8.8.8 echo. echo --- Trace to Baidu --- tracert -d -h 15 baidu.com echo. ) >> "%REPORT%" ( echo ^
tracert -d -h 15 8.8.8.8 echo ^) >> "%HTML_REPORT%" :: ═══════════════════════════════════════════════════════════════════ :: SECTION 11: OPEN PORTS :: ═══════════════════════════════════════════════════════════════════ echo [11/15] Scanning Open Ports... ( echo. echo ═══ 11. OPEN PORTS (LISTENING) ═══ echo. netstat -ano | findstr LISTENING echo. ) >> "%REPORT%" ( echo ^
netstat -ano | findstr LISTENING echo ^) >> "%HTML_REPORT%" :: ═══════════════════════════════════════════════════════════════════ :: SECTION 12: WIRELESS INFO (IF WIFI) :: ═══════════════════════════════════════════════════════════════════ echo [12/15] Collecting Wireless Information... ( echo. echo ═══ 12. WIRELESS INFORMATION ═══ echo. netsh wlan show interfaces echo. echo --- Available WiFi Networks --- netsh wlan show networks mode=bssid echo. echo --- Saved WiFi Profiles --- netsh wlan show profiles echo. ) >> "%REPORT%" ( echo ^
netsh wlan show interfaces echo ^echo ^
netsh wlan show networks mode=bssid echo ^) >> "%HTML_REPORT%" :: ═══════════════════════════════════════════════════════════════════ :: SECTION 13: FIREWALL STATUS :: ═══════════════════════════════════════════════════════════════════ echo [13/15] Checking Firewall Status... ( echo. echo ═══ 13. FIREWALL STATUS ═══ echo. netsh advfirewall show allprofiles echo. ) >> "%REPORT%" ( echo ^
netsh advfirewall show allprofiles echo ^) >> "%HTML_REPORT%" :: ═══════════════════════════════════════════════════════════════════ :: SECTION 14: NETWORK SHARES :: ═══════════════════════════════════════════════════════════════════ echo [14/15] Listing Network Shares... ( echo. echo ═══ 14. NETWORK SHARES ═══ echo. net share echo. ) >> "%REPORT%" ( echo ^
net share echo ^) >> "%HTML_REPORT%" :: ═══════════════════════════════════════════════════════════════════ :: SECTION 15: PUBLIC IP & GEOLOCATION :: ═══════════════════════════════════════════════════════════════════ echo [15/15] Detecting Public IP... ( echo. echo ═══ 15. PUBLIC IP DETECTION ═══ echo. echo --- Your Public IP --- ) >> "%REPORT%" :: Try multiple services powershell -Command "(Invoke-WebRequest -Uri 'https://api.ipify.org' -UseBasicParsing).Content" >> "%REPORT%" 2>nul if errorlevel 1 ( powershell -Command "(Invoke-WebRequest -Uri 'https://ifconfig.me' -UseBasicParsing).Content" >> "%REPORT%" 2>nul ) echo. >> "%REPORT%" echo --- IP Geolocation Info --- >> "%REPORT%" powershell -Command "(Invoke-WebRequest -Uri 'https://ipinfo.io/json' -UseBasicParsing).Content | ConvertFrom-Json | Format-List" >> "%REPORT%" 2>nul ( echo ^
^Public IP:^ ) >> "%HTML_REPORT%" powershell -Command "(Invoke-WebRequest -Uri 'https://api.ipify.org' -UseBasicParsing).Content" >> "%HTML_REPORT%" 2>nul echo ^
>> "%HTML_REPORT%" echo ^echo Internet ^<---^> ISP Box/Modem ^<---^> Gateway (%GATEWAY%^) ^<---^> Your PC echo ^
) >> "%HTML_REPORT%" :: Count devices for /f %%a in ('arp -a ^| find /c "dynamic"') do set DEVICE_COUNT=%%a echo ^^%DEVICE_COUNT% devices detected on local network^^
>> "%HTML_REPORT%" echo ^Report generated by Network Diagnostic Ultimate^
echo ^