Difference between revisions of "Ping (command)"

From wikieduonline
Jump to navigation Jump to search
 
(89 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[wikipedia:Ping_(networking_utility)|ping]] 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:
+
{{lowercase}}
 +
<code>[[wikipedia:Ping_(networking_utility)|ping]]</code> ([[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: (<code>-c</code>)<ref>https://linux.die.net/man/8/ping</ref> (Linux and macOS), (<code>-n</code> Windows)
 
* Count of tests: (<code>-c</code>)<ref>https://linux.die.net/man/8/ping</ref> (Linux and macOS), (<code>-n</code> Windows)
 
* Size of the payload
 
* Size of the payload
* Limits for the number of network hops (TTL) 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
+
* [[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
 
Output format:
 
Output format:
* Include timestamp on each line: Linux (<code>-D</code>)
+
* Include [[timestamp]] on each line: Linux (<code>-D</code>)
  
 
== Linux ==
 
== Linux ==
<pre>
+
[[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
 
</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 ---
 +
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]] ==
 +
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.
 +
 +
== [[Ping (PAN-OS)|PAN-OS]] ==
 +
* <code>[[ping host]] 10.10.10.xxx</code>
 +
 +
== nmap ==
 +
* <code>[[nmap]] -sn 10.10.10.*</code>
 +
 +
== [[Cisco IOS]] ==
 +
 +
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: <code>[[ios_ping]]</code> [[Ansible module]]
  
 
== Activities ==
 
== Activities ==
Line 32: Line 77:
 
:: BSD:  https://sourceforge.net/p/iputils/code/ci/HEAD/tree/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
 
:: macOS: https://opensource.apple.com/source/network_cmds/network_cmds-511/ping.tproj/ping.c.auto.html
 +
* Use <code>[[nmap]]</code> for ping a full subnet: <code>[[nmap]] -sn 192.168.0.*</code>
 +
 +
* [[Windows]]:
 +
** <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 ==
 +
* <code>[[mtr]]</code>, <code>[[traceroute]]</code>
 +
* [[ping (Cisco IOS)]]
 +
* [[Collectd]] ping plugin
 +
* [[Smokeping]]
 +
* [[Jitter]]
 +
* <code>[[tc qdisc]] add dev eth0 root netem delay 5000ms</code>
 +
* <code>[[kill]] -[[SIGINT]] PID</code>
 +
* [[PRTG]] ping sensor <ref>https://www.paessler.com/manuals/prtg/ping_sensor</ref>
 +
* <code>[[ping -D]] [[timestamp]]</code>
 +
* <code>[[ansible]] YourWebserversGroup [[-m ping]]</code>
 +
* Using bash tcp built-ins to test connectivity:
 +
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
 +
* [[Ping An Insurance]]
 +
* [[OpenSSH 9.5]]
 +
* ping [[8.8.8.8]]
 +
* ping [[1.1.1.1]]
  
 
== See also ==
 
== See also ==
* [[broadcast]] [[address]]
+
* {{ping cmd}}
 
* {{ping}}
 
* {{ping}}
* <code>Test-Connection</code> [[PowerShell|Powershell]] cmdlet
+
* {{ICMP}}
 +
* {{Network monitoring}}
  
  
Line 43: Line 123:
 
[[Category:Networking]]
 
[[Category:Networking]]
 
[[Category:Linux]]
 
[[Category:Linux]]
 +
[[Category:ping]]

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: