couple-repo/tools/network_diagnostic_ultimate.bat
2025-12-04 20:14:23 +08:00

305 lines
8.3 KiB
Batchfile

@echo off
setlocal enabledelayedexpansion
:: ===================================================================
:: NETWORK DIAGNOSTIC ULTIMATE v1.2
:: Analyse complete reseau : 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
:: Create output directory
if not exist "%OUTPUT_DIR%" mkdir "%OUTPUT_DIR%"
echo ====================================================================
echo NETWORK DIAGNOSTIC ULTIMATE - Starting...
echo ====================================================================
echo.
echo [*] Output: %REPORT%
echo.
:: Start TXT report
(
echo ===================================================================
echo NETWORK DIAGNOSTIC REPORT - %date% %time%
echo ===================================================================
echo.
) > "%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%"
:: ===================================================================
:: SECTION 2: NETWORK INTERFACES (DETAILED)
:: ===================================================================
echo [2/15] Analyzing Network Interfaces...
(
echo.
echo === 2. NETWORK INTERFACES [DETAILED] ===
echo.
ipconfig /all
echo.
) >> "%REPORT%"
:: ===================================================================
:: SECTION 3: ACTIVE CONNECTIONS
:: ===================================================================
echo [3/15] Listing Active Connections...
(
echo.
echo === 3. ACTIVE NETWORK CONNECTIONS ===
echo.
netstat -ano | findstr ESTABLISHED
echo.
) >> "%REPORT%"
:: ===================================================================
:: SECTION 4: ROUTING TABLE
:: ===================================================================
echo [4/15] Dumping Routing Table...
(
echo.
echo === 4. ROUTING TABLE ===
echo.
route print
echo.
) >> "%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%"
:: ===================================================================
:: SECTION 6: DNS CONFIGURATION
:: ===================================================================
echo [6/15] Analyzing DNS Configuration...
(
echo.
echo === 6. DNS CONFIGURATION ===
echo.
nslookup google.com
echo.
nslookup baidu.com
echo.
) >> "%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.
) >> "%REPORT%"
:: ===================================================================
:: SECTION 8: GATEWAY DETECTION and PING
:: ===================================================================
echo [8/15] Testing Gateway Connection...
:: Extract default gateway
for /f "tokens=3" %%a in ('route print ^| findstr "0.0.0.0"') do (
set GATEWAY=%%a
goto :gateway_found
)
:gateway_found
(
echo.
echo === 8. GATEWAY DETECTION ===
echo.
echo Default Gateway: %GATEWAY%
echo.
echo --- Ping Gateway ---
ping -n 4 %GATEWAY%
echo.
) >> "%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%"
:: ===================================================================
:: SECTION 10: TRACEROUTE
:: ===================================================================
echo [10/15] Running Traceroute [this may take a while]...
(
echo.
echo === 10. TRACEROUTE ANALYSIS ===
echo.
echo --- Trace to Google [8.8.8.8] ---
tracert -d -h 15 8.8.8.8
echo.
) >> "%REPORT%"
:: ===================================================================
:: SECTION 11: OPEN PORTS
:: ===================================================================
echo [11/15] Scanning Open Ports...
(
echo.
echo === 11. OPEN PORTS [LISTENING] ===
echo.
netstat -ano | findstr LISTENING
echo.
) >> "%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%"
:: ===================================================================
:: SECTION 13: FIREWALL STATUS
:: ===================================================================
echo [13/15] Checking Firewall Status...
(
echo.
echo === 13. FIREWALL STATUS ===
echo.
netsh advfirewall show allprofiles
echo.
) >> "%REPORT%"
:: ===================================================================
:: SECTION 14: NETWORK SHARES
:: ===================================================================
echo [14/15] Listing Network Shares...
(
echo.
echo === 14. NETWORK SHARES ===
echo.
net share
echo.
) >> "%REPORT%"
:: ===================================================================
:: SECTION 15: PUBLIC IP and 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" >> "%REPORT%" 2>nul
:: ===================================================================
:: FINALIZE REPORTS
:: ===================================================================
(
echo.
echo ===================================================================
echo DIAGNOSTIC COMPLETED - %date% %time%
echo ===================================================================
) >> "%REPORT%"
:: ===================================================================
:: SUMMARY
:: ===================================================================
echo.
echo ====================================================================
echo DIAGNOSTIC COMPLETED!
echo ====================================================================
echo.
echo [OK] Text Report: %REPORT%
echo.
:: Count devices
for /f %%a in ('arp -a ^| find /c "dynamic"') do set DEVICE_COUNT=%%a
echo [INFO] %DEVICE_COUNT% devices detected on local network
echo [INFO] Default Gateway: %GATEWAY%
echo.
echo [*] Opening report in Notepad...
start notepad "%REPORT%"
echo.
echo Press any key to exit...
pause >nul