Ping is a very useful command to use within scripts for checking the presence (or absence) of a live system on our network, or indeed on the Internet. However, there are subtle differences in the format of its report on different operating system flavors, so any code that you write that needs to analyse the results may need to be tuned when you re-host.
Here are some similar (but different!) ping responses, by way of example:
earth-wind-and-fire:~ grahamellis$ ping -q -c2 192.168.200.65
PING 192.168.200.65 (192.168.200.65): 56 data bytes
--- 192.168.200.65 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss
earth-wind-and-fire:~ grahamellis$
|
-bash-3.2$ ping -q -c2 192.168.200.65
PING 192.168.200.65 (192.168.200.65) 56(84) bytes of data.
--- 192.168.200.65 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 999ms
-bash-3.2$
|
wellcouk@tornado:~/public_html$ ping -q -c2 192.168.200.65
PING 192.168.200.65 (192.168.200.65): 56 octets data
--- 192.168.200.65 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss
wellcouk@tornado:~/public_html$
|
Many people find our Python scripts
alive,
kicking,
fullrange and
fullandfast useful - both as demonstrations of threading in Python and for live system checking
but you do need to change the scripts if you use them to reflect the OS on which you're running!
The same need to tailor applies to Tcl / Expect scripts such as
our basic expect example, our Tcl /expect parallel ping examples - we have them already modified for
Caldera and
Red Hat. Finally, ours Tk example for
Linux may also need a little tailoring depending on your Linux flavor!
(written 2009-11-02 11:03:45)
Associated topics are indexed under
Y302 - Python - Threads - What why and how [903] Pieces of Python - (2006-10-23)
T212 - Tcl/Tk - Expect Processes [2474] Using Tcl and Expect to automate repetitive jobs - (2009-10-24)
[1785] What is running on your network? (tcl and expect) - (2008-09-04)
[1173] Cheat Sheet / Check list for Expect maintainers - (2007-05-02)
[675] Adding PHP tags to an old cgi program - (2006-04-08)
[287] Checking that all our servers are up and accessible - (2005-04-22)
T211 - Tcl/Tk - What is Expect? Why use it? [1602] Automating processes through Expect - (2008-04-05)
[1531] Expecting a item from a list of possibles - (2008-02-04)
[1469] Curley brackets v double quotes - Tcl, Tk, Expect - (2007-12-12)
[1411] Buffering of inputs to expect, and match order - (2007-10-27)
[1409] What is Expect? - (2007-10-26)
[1174] Installing Tcl and Expect on Solaris 10 - a checklist - (2007-05-02)
[435] Expect for Windows - (2005-09-04)
[286] Automating regular manual procedures - (2005-04-21)
A163 - Web Application Deployment - Network Configuration and Security [2052] How was my web site compromised? - (2009-02-24)
[1904] Ruby, Perl, Linux, MySQL - some training notes - (2008-11-23)
[1712] As different as night and tyres - (2008-07-18)
[1666] Slow boot and terminal start on Linux boxes - (2008-06-05)
[1408] Wireless hotel tips - FTP and Skype connections failing - (2007-10-26)
[1073] Heartbeat script in Perl - (2007-02-09)
[511] Domain Forwarding - 2 ways of doing it - (2005-11-29)
[506] What are DHCP and DNS? - (2005-11-27)
[332] Looking up IP addresses - (2005-06-01)
[267] Searching security holes - (2005-04-04)
[37] Security and Safety - (2004-09-03)
[11] A bolt of lightning on Multicasting - (2004-08-11)
Some other Articles
Melksham buses to/from Chippenham, Trowbridge, Bath, Devizes, LondonLua Classes - open enrolementRoot is root for a reason!Friendly Hotel in Melksham, near BathParallel Pinging, using Python Threads or Expect spawn listsA variable number of arguments in a PHP functionMelksham ForumSanta Special - Trowbridge and Melksham to SwindonHow do I set up a constant in Python?Finding text and what surrounds it - contextual grep