Como obter o endereço DNS do host remoto de um host super-slim (docker) sem ping ou bind-utils?

2

Como obtenho um endereço IP de host remoto se não tiver ping e não tiver nenhum utilitário de vinculação como dig, nslookup, etc?

Eu preciso de uma resposta que não inclua 'install X' ou 'use sidecar container'. Eu estou procurando por algo que se baseia em nada mais do que bash e os comandos básicos do shell.

    
por Inquisitor Shm 02.08.2017 / 19:04

2 respostas

5

Use getent :

$ getent hosts unix.stackexchange.com
151.101.193.69    unix.stackexchange.com  unix.stackexchange.com
    
por 02.08.2017 / 19:16
0

Em um sistema "moderno", você pode usar systemd-resolve .

De sua página de manual:

systemd-resolve may be used to resolve domain names, IPv4 and IPv6 addresses, DNS resource records and services with the systemd-resolved.service(8) resolver service. By default, the specified list of parameters will be resolved as hostnames, retrieving their IPv4 and IPv6 addresses. If the parameters specified are formatted as IPv4 or IPv6 operation the reverse operation is done, and a hostname is retrieved for the specified addresses.

Ele fará o DNS, enquanto getent, dependendo do nsswitch.conf , pode nem mesmo fazer consultas DNS. Você também pode passar uma opção --type para ter acesso a qualquer tipo de registro DNS.

    
por 03.08.2017 / 00:27