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가 하나만 있는 경우 아래에 인쇄됩니다.