::/****************************************************************************************/ ::/* Das DOS Batch-Script pingLogger.bat */ ::/****************************************************************************************/ ::/* */ ::/* Pinglogger pingt die gewünschte IP oder Domain an, schreibt den Pong in ein Tempfile */ ::/* liest dieses aus und schreibt die Werte in ein strichpunktgetrenntes Protokollfile */ ::/* Diese Datei kann mit z.B. OpenOfficeOrg Calc oder Excell direkt geöffnet */ ::/* Damit die Wartefunktion unter Windows richtig funktioniert benötigt der PingLogger */ ::/* unbedingt die "sleep.exe" aus z.B. dem "Windows Server 2003 Resource Kit Tools" */ ::/* erhältlich auch hier unter http://www.universallink.ch/downloads/sleep.zip oder */ ::/* bei Microsoft. */ ::/* Weitere Infos zur sleep.ex am einfachsten erhältlich bei Google unter */ ::/* http://www.google.ch/search?hl=de&q=%2Bsleep.exe+%2Bmicrosoft+%2Bdos */ ::/* */ ::/* Änderungen und vorallem verbesserungen am PingLogger bitte mir mitteilen, */ ::/* damit ich diese auch ins Netz stellen kann!! */ ::/* */ ::/* Die Kontaktdaten findest Du unter http://ping-logger.ch */ ::/* */ ::/* Viel Spass beim loggen ;-) */ ::/* */ ::/* Copyright (c) <2017> */ ::/* */ ::/* Hiermit wird unentgeltlich jeder Person, die eine Kopie der Software und der */ ::/* zugehörigen Dokumentationen (die "Software") erhält, die Erlaubnis erteilt, sie */ ::/* zu verwenden, uneingeschränkt zu nutzen, inklusive und ohne Ausnahme mit dem Recht, */ ::/* sie zu kopieren, zu verändern, zusammenzufügen, zu veröffentlichen, zu verbreiten, */ ::/* zu unterlizenzieren und/oder zu verkaufen, und Personen, denen diese Software */ ::/* überlassen wird, diese Rechte zu verschaffen, unter den folgenden Bedingungen: */ ::/* */ ::/* Der obige Urheberrechtsvermerk und dieser Erlaubnisvermerk sind in allen Kopien */ ::/* oder Teilkopien der Software beizulegen. */ ::/* */ ::/* DIE SOFTWARE WIRD OHNE JEDE AUSDRÜCKLICHE ODER IMPLIZIERTE GARANTIE */ ::/* BEREITGESTELLT, EINSCHLIEßLICH DER GARANTIE ZUR BENUTZUNG FÜR DEN VORGESEHENEN */ ::/* ODER EINEM BESTIMMTEN ZWECK SOWIE JEGLICHER RECHTSVERLETZUNG, */ ::/* JEDOCH NICHT DARAUF BESCHRÄNKT. IN KEINEM FALL SIND DIE AUTOREN ODER */ ::/* COPYRIGHTINHABER FÜR JEGLICHEN SCHADEN ODER SONSTIGE ANSPRÜCHE HAFTBAR ZU MACHEN, */ ::/* OB INFOLGE DER ERFÜLLUNG EINES VERTRAGES, EINES DELIKTES ODER ANDERS */ ::/* IM ZUSAMMENHANG MIT DER SOFTWARE ODER SONSTIGER VERWENDUNG DER SOFTWARE ENTSTANDEN. */ ::/* (MIT-Lizenz) */ ::/* */ ::/****************************************************************************************/ ::/*********************************************/ ::/*Die verschiedenen Werte Abfragen und setzen*/ ::/*********************************************/ @echo off & setlocal cls SET /P "warten=Wieviel Sekunden warten zwischen den Abfragen? " cls SET /P "ipadr=Welche IP-Adresse oder Domain? " cls SET /P "anzPing=Wieviele Pings je Abfrage " cls echo Was soll protokolliert werden? SET /P "onlyError=(Nur Fehler = 1 / Alles = 0) " SET pingZaehler=0 ::/*********************************************/ ::/* Header in CSV Datei schreiben **********/ ::/*********************************************/ echo Datum;Zeit;IP;SEND;RECV;LOST;MIN_MAX_AVG >>%ipadr%.csv ::/* Ping-Schlaufe läuft endlos bis abgebrochen wird */ ::/***************************************************/ :Again ::/*********************************************/ ::/* Ausgabe als bestätigung am Bildschirm *****/ ::/*********************************************/ set /a pingZaehler = %pingZaehler% + 1 cls echo ******************************************************** echo ' '* echo * Ping-Protokollierung von %ipadr% echo * ------------------------------------------------------ echo * echo * - Wartezeit zwischen den Abfragen von %warten% Sek. echo * - Je Abfrage werden %anzPing% pings versendet echo * - Logfile ist %ipadr%.csv echo * IF %onlyError% == 0 ( echo * Es werden alle Abfragen protokolliert. ) IF %onlyError% == 1 ( echo * Es werden nur fehlende Pakete protokolliert. ) echo * echo * Bisher %pingZaehler% pings abgesetzt echo * echo * Beenden mit Ctrl + C oder Schliessen des Fensters echo * echo ******************************************************** ::/* Pingen und ausgabe in Tempfile schreiben **/ ::/*********************************************/ Ping %ipadr% -n %anzPing% > %ipadr%_tmp.log ::/* Tempfile zeilenweise einlesen und werte errechnen und diese den Variablen zuweisen **/ ::/***************************************************************************************/ for /F "delims==,( skip=2 tokens=2" %%i in ('find "Pakete" %ipadr%_tmp.log') do Set "SEND=%%i" for /F "delims==,( skip=2 tokens=4" %%j in ('find "Pakete" %ipadr%_tmp.log') do Set "RECV=%%j" for /F "delims==,( skip=2 tokens=6" %%k in ('find "Pakete" %ipadr%_tmp.log') do Set "LOST=%%k" for /F "delims==, skip=2 tokens=2,4,6" %%i in ('find "Minimum" %ipadr%_tmp.log') do Set "MIN_MAX_AVG=%%i %%j %%k" echo . ::/* Die Werte in Protokolldatei schreiben je nach gewälter Protokollierart **/ ::/***************************************************************************/ IF %onlyError% == 1 ( IF NOT %LOST% == 0 ( echo %date%; %time%; %ipadr%; %SEND%; %RECV%; %LOST%; %MIN_MAX_AVG%; >>%ipadr%.csv echo . %date%; %time%; %ipadr%; )) IF %onlyError% == 0 ( echo %date%; %time%; %ipadr%; %SEND%; %RECV%; %LOST%; %MIN_MAX_AVG%; >>%ipadr%.csv echo %date%; %time%; %ipadr%; ) ::/* die gewünschte Zeit warten bevor erneuter Ping abgesetzt wird **/ ::/******************************************************************/ sleep %warten% goto :Again goto :eof