13

For some hosts, ping www.example.com it resolves their IP but why does it fails with request time out? I have also tried to increase the ping response time but still the same result.

1

5 Answers 5

14

A ping is an ICMP packet. For comparison, web traffic or HTTP, is generally a TCP packet on port 80. A given server may be providing responses for the purpose of web traffic, but block ICMP (or be behind a firewall that blocks ICMP) and therefore you can:

  • Resolve the URL to its IP address
  • Connect and view the web content

But you cannot ping the IP address. The response "request timed out" is because your client sends the initial packet, waits for a reply (which will never come), and gives up at a preset timeout.

7

Because it fails to connect to the host. Just because a DNS server knows the IP a host should have, does not mean that the host in question is running and accepting connections.

4
  • Why would it not fail through browser?
    – cpx
    Feb 3, 2011 at 11:14
  • 2
    @cpx: a ping request is not an HTTP request. The host may be responding to the latter but ignoring the former. Feb 3, 2011 at 11:15
  • 2
    It's accepting TCP connections on port 80, but not ICMP connections. Nothing says a computer has to accept or respond to both. Feb 3, 2011 at 11:15
  • 2
    ICMP does not establish connections. Why does this answer gets voted up higher than Pablo's for example? ICMP blindly dispatches a frame to the destination host and waits for a few seconds if something comes back.
    – sinni800
    May 16, 2011 at 12:07
4

Maybe the host is actually down, or may be the case that some sites, block ICMP traffic (protocol PING command relies on).

1

Well, ping fails to www.microsoft.com too, for example. It is because those server computers use a restrictive firewall blocking the ICMP packets from unknown hosts.

Also ping does not "CONNECT" to a host, it just dispatches a single packet to them. TCP does connection handshakes and tries very hard to keep the connection. Ping just dispatches a ICMP packet which is not guaranteed to reach its destination. Just like UDP does, for data.

If it does not each its destination or the destination throws the packet away (firewall?), you don't get an answer.

This is completely independent from http traffic which uses TCP.

-2

You can try below line:

systemctl stop firewalld

Sometimes firewall blocks the ping response

Find the below reference:

https://www.liquidweb.com/kb/an-introduction-to-firewalld/

1
  • 1
    firewalld is a Linux tool. This question is about Batch scripts meaning it is a Windows question. Jun 25, 2021 at 5:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .