ping도 없고 바인딩 유틸리티(dig, nslookup 등)도 없는 경우 원격 호스트 IP 주소를 어떻게 얻나요?
"X 설치" 또는 "사이드카 컨테이너 사용"이 포함되지 않은 답변이 필요합니다. bash와 기본 쉘 명령에만 의존하는 것을 찾고 있습니다.
답변1
사용 getent
:
$ getent hosts unix.stackexchange.com
151.101.193.69 unix.stackexchange.com unix.stackexchange.com
답변2
"현대적인" 시스템에서는 systemd-resolve
.
매뉴얼 페이지에서:
systemd-resolve는 systemd-resolved.service(8) 확인자 서비스를 통해 도메인 이름, IPv4 및 IPv6 주소, DNS 리소스 레코드, 서비스를 확인하는 데 사용할 수 있습니다. 기본적으로 지정된 매개변수 목록은 호스트 이름으로 확인되어 IPv4 및 IPv6 주소를 검색합니다. 지정된 매개변수 형식이 IPv4 또는 IPv6 작업인 경우 반대 작업이 수행되고 지정된 주소의 호스트 이름이 검색됩니다.
getent는 DNS 쿼리를 수행하지만 nsswitch.conf
DNS 쿼리를 수행하지 못할 수도 있습니다. --type
모든 유형의 DNS 레코드 유형에 액세스하는 옵션을 전달할 수도 있습니다 .