Tuesday, February 22, 2005

Ping pour les nuls

Quand quelque chose ne fonctionne pas sur le réseau, on me téléphone et il n'est pas toujours facile de faire faire des ping à l'utilisateur pour localiser la panne.

Désormais, j'installe ce petit batch primitif mais efficace pour accélérer le processus. La partie la plus difficile est maintenant d'expliquer à l'utilisateur comment ouvrir une "invite de commandes". Une fois que c'est fait, il n'a plus qu'à taper netcheck:
C:\>netcheck
Checking network connectivity
Gateway: 192.168.1.1

* OK 1: ping gateway at 192.168.1.1
* OK 2: ping external IP address 130.59.138.34 (www.switch.ch)
* OK 3: ping external host name www.switch.ch (130.59.138.34)

*** Everything looks OK
C:\>

Si le gateway n'est pas 192.168.1.1, on peut en donner un autre en argument:
netcheck 10.0.0.1

Voilà netcheck.bat:
@echo off
set gateway=192.168.1.1
set externalip=130.59.138.34
set externalhost=www.switch.ch

echo Checking network connectivity

if not "%1" == "" set gateway=%1
echo Gateway: %gateway%

ping -n 2 -w 500 %gateway% >nul:
if "%errorlevel%" == "1" goto nogateway
echo.
echo * OK 1: ping gateway at %gateway%

ping -n 2 -w 500 %externalip% >nul:
if "%errorlevel%" == "1" goto nointernet
echo.
echo * OK 2: ping external IP address %externalip% (%externalhost%)

ping -n 2 -w 500 %externalhost% >nul:
if "%errorlevel%" == "1" goto nodns
echo.
echo * OK 3: ping external host name %externalhost% (%externalip%)

echo.
echo *** Everything looks OK

goto end

:nogateway
echo.
echo.
echo * Failed 1: Cannot reach gateway at %gateway%. Check cables, hub, gateway (router).
echo.
goto end

:nointernet
echo.
echo.
echo * Failed 2: Cannot reach external IP address %externalip% (www.switch.ch). Check router and connection between router and Internet; call ISP.
echo.
goto end

:nodns
echo.
echo.
echo * Failed 3: Cannot find IP address of host %externalhost%. Check DNS settings.
echo.

:end

0 Comments:

Post a Comment

<< Home