home *** CD-ROM | disk | FTP | other *** search
- ::Geheime Windows-Funktionen PCpro 02/2005 (jg)
- ::Dieses Programm fuehrt Netzwerktests mittels
- ::ping, ipconfig, nslookup und arp aus
- ::Details stehen in wlantest.log
- ::Dieser Abschnitt testet, ob ihr lokales Loopback erreichbar ist
- @echo off
- set /P r= IP-Adresse des Routers?
- echo.
- echo **************************
- echo Loopback-Test laeuft ...
- echo **************************
- (date /t & time /t) >> wlantest.log
- ping 127.0.0.1 >> wlantest.log
- IF "%ERRORLEVEL%"=="0" GOTO :GOODSTACK
- echo.
- echo Ihr lokales Loopback ist nicht erreichbar,
- echo dafuer kann es mehrere Gruende geben:
- echo.
- echo 1. Ihr TCP/IP-Stack funktioniert nicht richtig
- echo Loesung: Installieren Sie das TCP/IP-Protokoll neu
- echo.
- echo 2. Ihre Netzwerkkarte funktioniert nicht richtig
- echo Loesung: Installieren Sie die Treiber neu
- echo.
- echo Das Script wurde vorzeitig abgebrochen
- GOTO :END
- :GOODSTACK
- echo.
- echo TCP/IP-Stack ist ok
- echo.
- ::Dieser Abschnitt testet, ob Ihr Rechner eine gⁿltige IP-Adresse hat
- echo.
- echo ************************************************
- echo Test, ob korrekte IP-Adresse vergeben wurde ...
- echo ************************************************
- ::Der Befehl ipconfig /all schreibt die detaillierte
- ::Netzwerkkonfiguration in die Log-Datei wlantest.log
- ipconfig /all >> wlantest.log
- ::Finde die Zeile mit dem Eintrag IP-Adresse und
- ::speichere sie in der Textdatei ipstore.txt
- ::Wichtig: Deaktivieren Sie alle anderen Wireless-Netzwerkadapter
- ::und entfernen Sie die Kabel von Ethernet-Anschluessen
- ::Der Befehl ipconfig sollte nur eine IP-Adresse liefern
- (ipconfig | find "IP-Adresse") > ipstore.txt
- ::Suche IP-Adresse in der Textzeile und lege
- ::Variable IP an
- FOR /F "tokens=2 delims=:" %%i in (ipstore.txt) do set IP=%%i
- ::IP-Adresse auf Muster xxx.xxx.xxx.xxx (15 Zeichen) kuerzen
- set IP=%IP:~1,15%
- ::Muster xxx.xxx aus IP-Adresse schneiden und als
- ::Variable IPTEST abspeichern
- set IPTEST=%IP:~0,7%
- ::Hat IPTEST den Wert 169.254?
- ::Falls ja, versuche neue IP-Adresse anzufordern
- ::Falls nein, gehe zum Test, ob IP-Adresse 0.0.0.0 ist
- IF /i %IPTEST% NEQ 169.254 GOTO :IPTEST2
- echo.
- echo Fehler bei Adresszuteilung per DHCP
- echo IP-Adresse %IP% ist nicht gueltig
- echo Neue IP-Adresse vom DHCP-Server anfordern ...
- ipconfig /renew
- ipconfig /all >> wlantest.log
- (ipconfig | find "IP-Adresse") > ipstore.txt
- FOR /F "tokens=2 delims=:" %%i in (ipstore.txt) do set IP=%%i
- set IP=%IP:~1,15%
- set IPTEST=%IP:~0,7%
- IF /i %IPTEST% NEQ 169.254 GOTO :IPTEST2
- echo.
- echo Fehler bei Adresszuteilung per DHCP
- echo IP-Adresse %IP% ist nicht gueltig
- echo Der DHCP-Server ist nicht erreichbar oder liefert keine korrekte IP-Adresse
- GOTO :END
- :IPTEST2
- ::Pruefe ob IP-Adresse gleich 0.0.0.0 ist
- ::Falls ja, Fehler bei der Netzwerkverbindung
- ::Falls nein, gueltige IP-Adresse ausgeben
- IF /i %IPTEST% NEQ 0.0.0.0 GOTO :IPVALID
- echo.
- echo Fehler bei Netzwerkverbindung oder doppelt vergebene IP-Adresse
- echo IP-Adresse %IP% nicht gueltig
- echo.
- echo Das Script wurde vorzeitig abgebrochen
- GOTO :END
- :IPVALID
- echo.
- echo IP-Adresse %IP% ist gueltig
- echo.
- ::Dieser Abschnitt testet die Erreichbarkeit der eigenen IP-Adresse
- echo.
- echo ***********************************
- echo Test, ob IP-Adresse erreichbar ...
- echo ***********************************
- ::Ping-Anfrage an Ihren Rechner, alternativ kann
- ::statt COMPUTERNAME auch die IP-Adresse stehen
- ping %COMPUTERNAME% >> wlantest.log
- IF "%ERRORLEVEL%"=="0" GOTO :GOODIP
- echo.
- ::TCP/IP funktioniert und die IP-Adresse ist gueltig
- ::Ping funktioniert jedoch nicht
- ::Ein Fehler in der Routing-Tabelle k÷nnte ausschlaggebend sein
- ::Andere Moeglichkeit: Firewall blockt ICMP
- echo Ihre IP-Adresse %IP% ist nicht per ICMP erreichbar
- echo Moegliche Ursachen:
- echo.
- echo 1. Eine installierte Desktop-Firewall blockt ICMP-Pakete
- echo Loesung: Erlauben Sie Pings in den Firewall-Einstellungen
- echo.
- echo 2. Ein Fehler in der Routing-Tabelle
- echo Loesung: Pruefen Sie folgende Eintraege
- ::Routing-Tabelle ausgeben
- route PRINT
- ::Schreibe Routing-Tabelle in die Log-Datei
- route PRINT >> wlantest.log
- echo.
- echo Das Script wurde vorzeitig abgebrochen
- GOTO :END
- :GOODIP
- echo.
- echo Ihre IP-Adresse %IP% ist erreichbar
- echo.
- ::Dieser Abschnitt testet ob der Router erreichbar ist
- echo.
- echo ***********************
- echo Router-Test laeuft ...
- echo ***********************
- ping %r% >> wlantest.log
- IF "%ERRORLEVEL%"=="0" GOTO :GOODROUTER
- echo.
- echo Router bzw. Standard-Gateway %r% nicht erreichbar:
- echo.
- echo 1. Pruefen Sie Ihre Eingabe beim Script-Aufruf
- echo.
- echo 2. Pruefen Sie die Einstellungen fuer Standard-Gateway
- echo.
- echo 3. Pruefen Sie die Eintraege im ARP-Cache (Befehl arp /?)
- echo
- echo 4. Starten Sie das Netzwerk neu
- echo.
- ::Inhalt des ARP-Cache ausgeben
- arp -a
- ::Schreibt Inhalt des ARP-Cache in Log-Datei
- arp -a >> wlantest.log
- echo.
- echo Das Script wurde vorzeitig abgebrochen
- GOTO :END
- :GOODROUTER
- echo.
- echo Router %r% ist erreichbar
- echo.
- ::Dieser Abschnitt testet die Verbindung zu IP-Adressen im Internet
- echo.
- echo **************************************
- echo Ping-Befehl auf IP-Adresse laeuft ...
- echo **************************************
- ::Hier schlaegt ein Test auf das Errorlevel
- ::unter UmstΣnden fehl. Der Grund: Ein funktionierender
- ::Router wird die Meldung "Zielnetz nicht erreichbar"
- ::liefern und Errorlevel auf 0 belassen
- ::Loesung: Ausgabe von Ping nach TimeToLive durchsuchen
- ping 192.0.34.163 | find "TTL=" && GOTO :GOODPING
- echo.
- echo 192.0.34.163 nicht erreichbar
- echo.
- echo Ping-Befehl auf alternative IP-Adresse laeuft ...
- ping 66.102.9.104 | find "TTL=" && GOTO :GOODPING
- echo.
- echo 66.102.9.104 auch nicht erreichbar
- echo.
- echo Pruefen Sie folgende Einstellungen:
- echo.
- echo 1. Router-Status im Konfigurationsmenue
- echo.
- echo 2. Netzwerkeinstellungen fuer Standard-Gateway
- echo.
- echo Das Script wurde vorzeitig abgebrochen
- GOTO :END
- :GOODPING
- echo.
- echo Webseiten lassen sich per Ping erreichen
- echo.
- ::Dieser Abschnitt testet die Erreichbarkeit von Webseiten
- echo.
- echo ***************************************
- echo Ping-Befehl auf Domain-Namen laeuft...
- echo ***************************************
- ::Test, ob die Webseite der ICANN erreichbar ist
- ping www.icann.org | find "TTL=" && GOTO :GOODPINGDOMAIN
- echo.
- ::Webseite nicht erreichbar, zweiten Test starten
- echo DNS-Problem, teste zweite Webadresse
- echo.
- echo Ping-Befehl auf zweiten Domain-Namen laeuft...
- ping www.google.de | find "TTL=" && GOTO :GOODPINGDOMAIN
- echo.
- ::Es liegt ein DNS-Problem vor
- echo DNS-Problem bestaetigt
- echo.
- echo Testen Sie die DNS-Einstellungen per nslookup
- echo.
- echo siehe dazu auch wlantest.log
- nslookup >> wlantest.log
- echo.
- echo Das Script wurde vorzeitig abgebrochen
- GOTO :END
- :GOODPINGDOMAIN
- echo.
- echo Gratulation: Webseiten lassen sich per Ping erreichen
- echo und DNS funktioniert, der Netzzugang ist ok.
- echo.
- echo Pruefen Sie Ihre Browser-Einstellungen
- echo falls die Internet-Verbindung auch jetzt
- echo nicht klappt - evtl. ist ein falscher Proxy-Server eingestellt.
- :END
- echo.
- echo ... Programm beendet -- Details siehe wlantest.log