Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to fetch a nonexistent (unresolvable hostname) page using wget. I expect it to fail, but it does not.

Here is a transcript

[mark@cn ~]$ cat /etc/resolv.conf
; google public

[mark@cn ~]$ host
Host not found: 3(NXDOMAIN)
[mark@cn ~]$ wget -O -
--2010-09-05 22:12:09--
Connecting to||:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: [following]
--2010-09-05 22:12:09--
Connecting to connected.
HTTP request sent, awaiting response... 200 OK
Length: 524 [text/html]
Saving to: `STDOUT'

 0% [                                       ] 0           --.-K/s              
(some HTML that my local Apache serves)
100%[======================================>] 524         --.-K/s   in 0s

2010-09-05 22:12:09 (62.5 MB/s) - `-' saved [524/524]

Why is this happening? Any ideas?

OS: Centos 5.5 x86_64 Network: cloudnext dedicated virtual servers

I'm asking because I've tried the same in Python code and something similar is happening. Something fishy is going on and I can't quite figure out what.

share|improve this question
Have a look at /etc/nsswitch.conf and getent hosts – al. Sep 5 '10 at 21:28
That's pretty weird. – tylerl Sep 5 '10 at 21:36
up vote 4 down vote accepted

Did you maybe leave out the part of your resolv.conf where your search domain(s) are listed?

If at least one of your search domains has wildcard entries (or your server FQDN domain), then what wget really resolves, is This probably leads to a web server that is configured to redirect the client to localhost, if it gets a query for an unknown VHost.

The proper way to fix this in my opinion would be, to not use wildcard domains or at least not to use these as search domains. If infact your server's FQDN is in a wildcard domain, you could work around the problem by putting this in your resolv.conf:

options ndots:1
search .
share|improve this answer
Spot on. It was using my host's official host name as a search path, and THEIR DNS had a dodgy wildcard entry. Thanks for your help. – MarkR Sep 6 '10 at 5:35

I suspect it's because Google DNS is returning an answer for virtually all requests. OpenDNS is similar as well... the idea is that they can redirect unknown host requests elsewhere for correction (*cough) and ad revenue (*cough).

What happens if you change the DNS servers to something else? Like


share|improve this answer
Yup, a.k.a. NXDOMAIN hijacking. All too common of a practice, IMHO. – EEAA Sep 5 '10 at 23:14
Google Public DNS always returns an NXDOMAIN response for records that don't exist - see – Phil Ross Sep 5 '10 at 23:21
Anyone remember sitefinder? =P – Mike B Sep 6 '10 at 1:05
Thanks for your reply, but Google Public DNS always returns an NXDOMAIN, as my transcript showed. – MarkR Sep 6 '10 at 5:33

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.