O programa host
usa libresolv
para realizar uma consulta DNS diretamente, ou seja, não usa gethostbyname
.
A maioria dos programas, ao tentar se conectar a outro host, invoca a chamada do sistema gethostbyname
ou uma função semelhante. Essa função obedece à configuração de /etc/nsswitch.conf
. Este arquivo tem uma linha que no Ubuntu 12.04 tem como padrão o seguinte:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
, o que significa que primeiro usará /etc/hosts
e, em seguida, voltará às consultas do DNS.
Se você quiser realizar uma pesquisa de host dessa maneira, poderá fazer isso com getent hosts
. Por exemplo:
$ getent hosts serverfault.com
198.252.206.16 serverfault.com
Espero que isso ajude.