Bash 스크립트에서 호스트 이름을 IP 주소로 어떻게 확인할 수 있습니까?

How Can I Resolve Hostname An Ip Address Bash Script



TCP/IP 네트워크의 모든 시스템에는 네트워크 및 인터넷 전체에서 다른 시스템과 연결하는 데 도움이 되는 IP 주소라는 고유 식별자가 할당됩니다. 인터넷에서 액세스하는 모든 웹 사이트에는 고유한 IP 주소도 있습니다. 모든 사람이 이러한 웹사이트의 IP 주소를 기억하기 어렵기 때문에 기억하기 어려운 IP 주소를 사람이 읽을 수 있는 이름으로 변환하는 데 도움이 되는 DNS 시스템이 제공됩니다. DNS를 사용하면 더 이상 IP 주소를 기억할 필요가 없습니다. 대신, 도메인 이름과 모든 작업을 기억하기만 하면 됩니다. 실제로 지원되는 DNS 서버는 호스트 이름을 가져와 브라우저나 응용 프로그램이 연결하는 IP 주소로 확인합니다.

이 기사에서는 Bash 스크립트에서 호스트 이름/도메인 이름을 IPv4 및 IPv6 주소로 확인하는 방법을 설명합니다. 그러나 스크립트 생성을 진행하기 전에 호스트 이름/도메인 이름을 IP 주소로 확인하는 데 사용할 수 있는 몇 가지 명령을 검토해 보겠습니다.







Ping은 거의 모든 운영 체제에서 사용할 수 있는 가장 간단하고 내장된 도구입니다. 네트워크에서 호스트의 도달 가능성을 확인하는 데 사용됩니다. 그러나 호스트 이름/도메인 이름에 대해 IP 주소를 찾는 데 사용할 수도 있습니다. 다음 구문을 사용하여 대상 호스트 이름/도메인 이름의 IP 주소를 찾습니다.



$대상 호스트



Nslookup

Nslookup은 호스트 이름을 IP 주소로 확인하는 데 널리 사용됩니다. IP 조회에 이 명령을 사용하려면 다음 구문을 사용하십시오.





$nslookup 대상 호스트

주인

다른 명령줄 유틸리티 호스트를 사용하여 호스트 이름/도메인 이름에 대해 IP 주소를 찾을 수 있습니다. 이 명령을 사용하려면 다음 구문을 사용하십시오.



$호스트 대상 호스트

Dig는 다양한 DNS 관련 레코드를 쿼리하는 데 사용되는 또 다른 유용한 명령줄 도구입니다. 모든 호스트 이름/도메인 이름에 대해 IP 주소를 찾는 데 사용할 수 있습니다. 특정 호스트 이름/도메인 이름에 대해 IP 주소를 찾으려면 다음과 같이 Dig 명령을 사용합니다.

$대상 호스트 +짧은

호스트 이름을 IP 주소로 확인하는 Bash 스크립트

IP 조회에 bash 스크립트를 사용하려면 다음 단계를 따르십시오.

  1. 텍스트 편집기를 사용하여 bash 파일을 만듭니다. 여기서는 Nano 편집기를 사용하여 iplookup.sh .$수도 나노스크립트.sh
  1. 스크립트 파일에 다음 줄을 복사하여 붙여넣습니다. 여기 이 스크립트에서 IP 조회를 위해 Google의 공개 DNS 서버를 지정하고 있습니다. 환경에 따라 다른 DNS 서버를 지정할 수 있습니다.# DNS 서버 지정
    DNS 서버='8.8.8.8'
    # IP 주소를 가져오는 함수
    기능get_ipaddr{
    IP 주소=''
    # IPv4 및 IPv6 각각에 대한 A 및 AAA 레코드
    # $1은 첫 번째 인수를 나타냅니다.
    만약 [ -N '$1' ];그 다음에
    호스트 이름='$ {1}'
    만약 [ -와 함께 '쿼리 유형' ];그 다음에
    쿼리 유형='에게'
    ~이다
    # DNS 조회 작업에 host 명령을 사용합니다.
    주인-NS ${query_type} ${호스트 이름} &> /개발자/없는$ {dnsserver}
    만약 [ '$?' -eq '0' ];그 다음에
    # 아이피 주소 받기
    IP 주소='$(호스트 -t ${쿼리 유형} ${호스트 이름} ${dnsserver}| awk '/has.*address/{print $NF; exit}')'
    또 다른
    출구 1
    ~이다
    또 다른
    출구 2
    ~이다
    # 표시 IP
    던졌다 $ip_address
    }
    호스트 이름='$ {1}'
    ~을위한질문~에 'A-IPv4' 'AAAA-IPv6';~하다
    쿼리 유형='$(printf $query | 자르기 -d- -f 1)'
    ipversion='$(printf $query | 자르기 -d- -f 2)'
    주소='$(get_ipaddr ${호스트 이름})'
    만약 [ '$?' -eq '0' ];그 다음에
    만약 [ -N '${주소}' ];그 다음에
    던졌다 'NS${ipversion}호스트 이름의 주소${호스트 이름}이다:$주소'
    ~이다
    또 다른
    던졌다 '오류가 발생하였습니다'
    ~이다
    완료
  2. 완료되면 Ctrl+O 및 Ctrl+X를 사용하여 각각 파일을 저장하고 종료합니다.
  3. 이제 대상 호스트 이름/도메인 이름에 대해 IP 주소를 찾으려면 다음 구문을 사용하여 스크립트를 실행하십시오.$./script.sh 대상 호스트

    예를 들어 google.com의 IP 주소를 확인하려면 다음 명령을 사용합니다.

    $./iplookup.sh google.com

    출력은 다음과 유사합니다.

    마찬가지로 yahoo.com의 IP 주소를 확인하려면 다음과 같이 명령합니다.

    $./iplookup.sh yahoo.com

    출력은 다음과 유사합니다.

    그게 전부입니다! 이 기사에서는 bash 스크립트를 사용하여 호스트 이름을 IPv4 및 IPv6 주소로 확인하는 방법을 배웠습니다. 또한 IP 조회를 수행하는 데 사용할 수 있는 Ping, Nslookup, Host 및 Dig와 같은 다른 명령줄 도구도 배웠습니다.