Use getent
:
$ getent hosts unix.stackexchange.com
151.101.193.69 unix.stackexchange.com unix.stackexchange.com
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.
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.