Ping (an echo request) is a computer network administration utility used to test the reachability of a host on an Internet
Protocol (IP) network and to measure the round-trip time. Some software firewalls, as well as
NAT routers may block
ping requests in an effort to "hide" your external
IP address and prevent any response to potential intruders and prevent possible denial-of-service attacks in the form of a
ping flood, in which an attacker overwhelms the victim with
ICMP echo request packets.
In a broader term,
ping can also be used to describe the transmission of any message for the purpose of locating or testing/identifying a network device and measuring
latency. Such pings may not necessarily use
ICMP packets, another common practice is using the
UDP (User
Datagram Protocol). A common use for identification purposes using TCP/UDP instead of ICMP is
port 113 (ident)
A number of legitimate programs, such as IRC, online games, and network tools may need your computer to be "pingable". To accomplish this, you will have to determine first what device/software on your
LAN is blocking
ping requests. Commonly, this would be a hardware
router/modem, or it could be a software
firewall.
To enable echo reqests (
ping) behind a
NAT router, you must log into the
router and explicitly configure it to respond to
ICMP echo requests on its WAN port. We have links to manuals of over 2500 common routers/firewalls listed in our
hardware database.
Notes:
Most computers will, by default, automatically respond to
ICMP echo request (pings). If you can't
ping a machine, it is likely that it is behind a
NAT router or some sort of
firewall.
Many routers/gateways block
ICMP echo requests (or simply drop
ICMP when under high load).
ICMP is a session-less
protocol and does not use "ports", they are a construct used by some protocols, such as TCP/UDP to maintain a persistent connection between computers.
Under Unix-like OSes, the
traceroute utility uses
UDP by default, while under Windows tracert uses
ICMP.