비DNS별 도메인 이름 확인 도구

비DNS별 도메인 이름 확인 도구

host, 명령줄에서 DNS 이름을 조회하는 데 사용할 dig수 있습니다. 그러나 호스트 이름을 확인하는 nslookup대신 DNS 서버에서 직접 이름을 쿼리합니다 . nsswitch이는 /etc/hosts 및 mDNS가 사용되지 않음을 의미합니다.

표준 방식(mDNS 및 /etc/hosts 관련)으로 이름을 검색할 수 있는 명령줄 도구가 있습니까?

하나 있다Ask Different에 대한 비슷한 질문, 그러나 OS X에만 해당되는 것 같습니다.

답변1

getent이를 사용하여 호스트를 포함한 다양한 데이터베이스를 쿼리 할 수 있습니다 .

$ getent hosts <hostname>

서버에 V6 주소가 있지만 V4 주소를 원하는 경우 ahostsv4 DB를 사용할 수 있습니다.

$ getent ahostsv4 www.google.com

추가 도구로 gethostbyname()프로그램을 호출해 볼 수 있습니다. C는 괜찮지만 다음은 Perl 스크립트입니다.

#!/usr/bin/perl
use strict;
use warnings;
use Socket;

my $ip = gethostbyname($ARGV[0]); 
if (defined $ip) {
  my $ip_addr = inet_ntoa($ip);
  print "$ip_addr\n";
}

명령줄의 호스트에 IP가 하나만 있는 경우 아래에 인쇄됩니다.

관련 정보