March 29, 200917 yr basically im new to writing command prompt batch files so really need help down here i need to write out a batch that can help me continously ping a ip address. eg. ( ping 132.21.21.2 -t) if during the pinging, there is request time out or destination host unreachable, the batch file will automatically net send to another computer ( which is in the same domain as mine ) to inform him that ping failed.is it possible?
March 29, 200917 yr That is basically called a DOS attack,http://en.wikipedia.org/wiki/Denial-of-service_attack
April 14, 200917 yr @rv31 : There's absolutely no Denial of Service in what he's doing. It's simply ping monitoring.@chunhin : I'm not sure if it's possible to do what you'd like with a batch file, but some simple scripting in VBScript could do the trick. Take a look at this topic.
April 14, 200917 yr A FOR /F should be all that is needed:http://www.robvanderwoude.com/ntfortokens.phpCan you post the output of a "single" working "ping" and those with the "ping errors" that you want the alarm (redirection or whatever) to be triggered with?Another VBS script that might be useful:http://www.robvanderwoude.com/vbstech_network_ping.phpjaclaz
April 14, 200917 yr One problem you will run into. You can get destination host unreachable if your network gets a lot of traffic, or the machine you are pinging gets to many request. Also, some A/V programs will think you are a hacker doing DOS if it is non stop pinging. I have been using a program called "Is it up" to monitor cpu's and devices. Edited April 14, 200917 yr by AO3
December 17, 200916 yr Are you allowed to use anything other than command prompt ? That will make parsing of the output easier.Here is a possible script.# Script ping15sec.txtvar str output, lostwhile (true)do # Ping. Collect output into variable $output. system "ping 132.21.21.2" > $output # Get the lost packect count. It is after "Lost =" in $output. stex -c -r "^Lost;=;^[" $output > $lost stex -c -r "[^,^" $lost > null # $lost must be "0". If not, something went wrong. if ($lost <> "0") do # Do something to report error here. For now, we will just shout. echo "LOST " $lost " PACKETS AT TIME " gettime() done endif # Sleep for 60 seconds sleep 60doneSave the script in file C:/Scripts/ping15sec.txt, start biterscripting ( http://www.biterscripting.com ), enter the following command.script "C:/Scripts/ping15sec.txt"
Create an account or sign in to comment