37 votos

Linux utilidad de línea de comandos para resolver nombres de host usando /etc/hosts primera

Hay varias utilidades de línea de comandos para resolver nombres de host (host, dig, nslookup), sin embargo, todos ellos de uso de los servidores de nombres exclusivamente, mientras que las aplicaciones en general en /etc/hosts primera (mediante gethostbyname creo).

Hay una utilidad de línea de comandos para resolver los nombres de host que se comporta como una aplicación habitual, por lo tanto busca en /etc/hosts primero y sólo entonces pedir un servidor de nombres?

(Soy consciente de que probablemente sería como 3 líneas de c, pero necesito que dentro de un poco de la portátil de secuencia de comandos de shell.)

56voto

Ryan Sampson Puntos 2898

Esto se consigue fácilmente con getent:

getent hosts 127.0.0.1

getent va a hacer búsquedas de cualquier tipo de datos configurada en nsswitch.conf.

26voto

Zoredache Puntos 84524

Una herramienta que el trabajo es getent. Así que usted podría utilizar getent hosts www.google.como getent hosts localhost. Se va a recuperar las entradas de las bases de datos como se especifica en el Servicio de nombres de configuración del Switch /etc/nsswitch.conf.

11voto

Kyle Smith Puntos 7215

Usted podría utilizar [su idioma favorito aquí] para escribir un script que llama a getnameinfo. Que es como archivos binarios (como ping) debe estar haciendo, por lo que está asegurado recibe el mismo tratamiento.

8voto

jcollum Puntos 10236

Usted puede utilizar un gethostbyname() (obsoleto) contenedor como:

python -c 'import socket;print socket.gethostbyname("www.google.com")'

O un getaddrinfo() contenedor como:

python -c 'import socket;print socket.getaddrinfo("www.google.com","http")[0][4][0]'

Tenga en cuenta que getaddrinfo devolverá todos los casos como una lista. La última parte del comando selecciona sólo la primera tupla. Esto también puede devolver las direcciones IPv6.

6voto

cjc Puntos 17092

resolveip va a hacer esto.

Curiosamente, es la parte de mysql-server paquetes de red hat enterprise linux y Ubuntu.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: