Difference between revisions of "Ping (command)"

From wikieduonline
Jump to navigation Jump to search
 
(19 intermediate revisions by 4 users not shown)
Line 5: Line 5:
 
* Limits for the number of network hops (<code>[[TTL]]</code>) that probes traverse
 
* Limits for the number of network hops (<code>[[TTL]]</code>) that probes traverse
 
Timing options:
 
Timing options:
* Timeout for exiting: <code>-t</code> (macOS), Linux not implemented.
+
* Timeout for exiting: <code>[[-t]]</code> (macOS), Linux not implemented.
 
* [[Interval]] between the requests <code>-i</code> (macOS)
 
* [[Interval]] between the requests <code>-i</code> (macOS)
 
* Time to wait for a response (<code>-W</code>) miliseconds for macOS and seconds for Linux
 
* Time to wait for a response (<code>-W</code>) miliseconds for macOS and seconds for Linux
Line 14: Line 14:
 
[[man]] page: https://linux.die.net/man/8/ping
 
[[man]] page: https://linux.die.net/man/8/ping
  
<pre>
 
$ ping -c 5 www.example.com
 
PING www.example.com (93.184.216.34): 56 data bytes
 
64 bytes from 93.184.216.34: icmp_seq=0 ttl=56 time=11.632 ms
 
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=11.726 ms
 
64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=10.683 ms
 
64 bytes from 93.184.216.34: icmp_seq=3 ttl=56 time=9.674 ms
 
64 bytes from 93.184.216.34: icmp_seq=4 ttl=56 time=11.127 ms
 
  
--- www.example.com ping statistics ---
+
$ [[ping -c]] 5 www.example.com
5 packets transmitted, 5 packets received, 0.0% packet loss
+
PING www.example.com (93.184.216.34): 56 data bytes
round-trip min/avg/max/stddev = 9.674/10.968/11.726/0.748 ms
+
64 bytes from 93.184.216.34: icmp_seq=0 ttl=56 time=11.632 ms
</pre>
+
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=11.726 ms
 +
64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=10.683 ms
 +
64 bytes from 93.184.216.34: icmp_seq=3 ttl=56 time=9.674 ms
 +
64 bytes from 93.184.216.34: icmp_seq=4 ttl=56 time=11.127 ms
 +
 +
--- www.example.com ping statistics ---
 +
5 packets transmitted, 5 packets received, 0.0% packet loss
 +
round-trip min/avg/max/[[stddev]] = 9.674/10.968/11.726/0.748 ms
  
  
Line 32: Line 31:
  
 
[[Audible]] ping
 
[[Audible]] ping
  ping -a IP
+
  [[ping -a]] IP
  
 
  ping hostwithoutdomain
 
  ping hostwithoutdomain
Line 52: Line 51:
 
  -t timeout (not available in Linux)
 
  -t timeout (not available in Linux)
  
  ping -i 0.1 google.com
+
  [[ping -i]] 0.1 google.com
  
 
Note: [[macOS application firewall]] in stealth mode ignores ICMP requests.
 
Note: [[macOS application firewall]] in stealth mode ignores ICMP requests.
Line 82: Line 81:
 
* [[Windows]]:  
 
* [[Windows]]:  
 
** <code>[[netsh advfirewall]] firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow</code>
 
** <code>[[netsh advfirewall]] firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow</code>
 +
 +
== Other sofware using ping ==
 +
* <code>[[jfrog rt ping]]</code>
 +
* <code>[[rabbitmqctl ping]]</code>
 +
* <code>[[redis-cli ping]]</code>
 +
* <code>[[ipfs ping]]</code>
 +
* <code>[[influx ping]]</code>
 +
* <code>[[nats server ping]]</code>
 +
* <code>[[netdatacli ping]]</code>
 +
* <code>[[tailscale ping]]</code>
  
 
== Related ==
 
== Related ==
Line 89: Line 98:
 
* [[Smokeping]]
 
* [[Smokeping]]
 
* [[Jitter]]
 
* [[Jitter]]
* [[8.8.8.8]]
+
* <code>[[tc qdisc]] add dev eth0 root netem delay 5000ms</code>
 
* <code>[[kill]] -[[SIGINT]] PID</code>
 
* <code>[[kill]] -[[SIGINT]] PID</code>
 
* [[PRTG]] ping sensor <ref>https://www.paessler.com/manuals/prtg/ping_sensor</ref>
 
* [[PRTG]] ping sensor <ref>https://www.paessler.com/manuals/prtg/ping_sensor</ref>
* ping -D [[timestamp]]
+
* <code>[[ping -D]] [[timestamp]]</code>
* <code>[[jfrog rt ping]]</code>
 
* <code>[[rabbitmqctl ping]]</code>
 
* <code>[[check_ping]]</code> Nagios
 
 
* <code>[[ansible]] YourWebserversGroup [[-m ping]]</code>
 
* <code>[[ansible]] YourWebserversGroup [[-m ping]]</code>
 
* Using bash tcp built-ins to test connectivity:  
 
* Using bash tcp built-ins to test connectivity:  
 
  echo >/dev/tcp/google.com/80; if [ $? -eq 0 ]; then echo "Connection Successful"; fi
 
  echo >/dev/tcp/google.com/80; if [ $? -eq 0 ]; then echo "Connection Successful"; fi
+
* <code>[[check_ping]]</code> Nagios
  
 
  >/dev/tcp/google.com/80 && echo Success || echo Failure
 
  >/dev/tcp/google.com/80 && echo Success || echo Failure
 +
* [[Ping An Insurance]]
 +
* [[OpenSSH 9.5]]
 +
* ping [[8.8.8.8]]
 +
* ping [[1.1.1.1]]
  
 
== See also ==
 
== See also ==
Line 107: Line 117:
 
* {{ping}}
 
* {{ping}}
 
* {{ICMP}}
 
* {{ICMP}}
* {{TCP}}
 
 
* {{Network monitoring}}
 
* {{Network monitoring}}
  

Latest revision as of 16:57, 10 November 2024

ping (1983) command is available in almost all operating systems. The command-line options of the ping utility and its output vary between the numerous implementations. Options may include among others:

  • Count of tests: (-c)[1] (Linux and macOS), (-n Windows)
  • Size of the payload
  • Limits for the number of network hops (TTL) that probes traverse

Timing options:

  • Timeout for exiting: -t (macOS), Linux not implemented.
  • Interval between the requests -i (macOS)
  • Time to wait for a response (-W) miliseconds for macOS and seconds for Linux

Output format:

Linux[edit]

man page: https://linux.die.net/man/8/ping


$ ping -c 5 www.example.com
PING www.example.com (93.184.216.34): 56 data bytes
64 bytes from 93.184.216.34: icmp_seq=0 ttl=56 time=11.632 ms
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=11.726 ms
64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=10.683 ms
64 bytes from 93.184.216.34: icmp_seq=3 ttl=56 time=9.674 ms
64 bytes from 93.184.216.34: icmp_seq=4 ttl=56 time=11.127 ms

--- www.example.com ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 9.674/10.968/11.726/0.748 ms


ping -i google.com

Audible ping

ping -a IP
ping hostwithoutdomain
ping: hostwithoutdomain: Name or service not known

BusyBox

ping www.google.com
ping: bad address
ping 10.10.xx.xx
PING 10.10.xx.xx (10.10.xx.xx) 56(84) bytes of data.
From xx.56.242.XX icmp_seq=1 Packet filtered
^C
--- 10.10.25.10 ping statistics ---
3 packets transmitted, 0 received, +1 errors, 100% packet loss, time 2012ms

macOS[edit]

ping -c1 -t1  www.example.com
-t timeout (not available in Linux)
ping -i 0.1 google.com

Note: macOS application firewall in stealth mode ignores ICMP requests.

PAN-OS[edit]

nmap[edit]

Cisco IOS[edit]

ping 10.10.10.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.10.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

See also: ios_ping Ansible module

Activities[edit]

Advanced[edit]

  1. Review source code of different ping implementation:
Linux: https://github.com/iputils/iputils/blob/master/ping.c
BSD: https://sourceforge.net/p/iputils/code/ci/HEAD/tree/ping.c
macOS: https://opensource.apple.com/source/network_cmds/network_cmds-511/ping.tproj/ping.c.auto.html
  • Use nmap for ping a full subnet: nmap -sn 192.168.0.*
  • Windows:
    • netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow

Other sofware using ping[edit]

Related[edit]

echo >/dev/tcp/google.com/80; if [ $? -eq 0 ]; then echo "Connection Successful"; fi
>/dev/tcp/google.com/80 && echo Success || echo Failure

See also[edit]

  • https://linux.die.net/man/8/ping
  • https://www.paessler.com/manuals/prtg/ping_sensor
  • Advertising: