100 Useful Command-Line Utilities
by Oliver; 201492. ping
As the docs say, ping "uses the ICMP protocol’s mandatory ECHO_REQUEST datagram to elicit an ICMP ECHO_RESPONSE from a host or gateway." Practically speaking, it allows you to send a signal to some IP address to see if it's responding. Think of it as an exchange between two people:"Hey, are you there?"
"Yes, I'm here."
The syntax is:
$ ping some_IP_addressFor instance, the internet tells me that 74.125.224.18 belongs to Google, so:
$ ping 74.125.224.18 PING 74.125.224.18 (74.125.224.18) 56(84) bytes of data. 64 bytes from 74.125.224.18: icmp_seq=1 ttl=43 time=76.5 ms 64 bytes from 74.125.224.18: icmp_seq=2 ttl=43 time=76.7 ms 64 bytes from 74.125.224.18: icmp_seq=3 ttl=43 time=76.7 ms 64 bytes from 74.125.224.18: icmp_seq=4 ttl=43 time=76.6 ms 64 bytes from 74.125.224.18: icmp_seq=5 ttl=43 time=76.7 ms ^C --- 74.125.224.18 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4414ms rtt min/avg/max/mdev = 76.594/76.700/76.793/0.359 ms(Interrupt ping with Cntrl-c.) You can see this on the network. However, if you try to ping the address 00.000.000.00:
$ ping 00.000.000.00 PING 00.000.000.00 (0.0.0.0): 56 data bytes ping: sendto: No route to host ping: sendto: No route to host Request timeout for icmp_seq 0 ping: sendto: No route to host Request timeout for icmp_seq 1 ping: sendto: No route to host Request timeout for icmp_seq 2 ping: sendto: No route to host Request timeout for icmp_seq 3 ^C --- 00.000.000.00 ping statistics --- 5 packets transmitted, 0 packets received, 100.0% packet lossyou'll discover it's dead.