ping (command)

From wikieduonline
Jump to navigation Jump to search

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

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

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

nmap

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: ios_ping Ansible module

Activities

Advanced

  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

Related

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

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