Bash betiğinde bir ana bilgisayar adını bir IP adresine nasıl çözebilirim?

How Can I Resolve Hostname An Ip Address Bash Script



Bir TCP/IP ağındaki her sisteme, onu ağdaki diğer sistemlerle ve tüm internet üzerinden bağlamaya yardımcı olan, IP adresi olarak bilinen benzersiz bir tanımlayıcı atanır. İnternette eriştiğiniz tüm web sitelerinin de benzersiz IP adresleri vardır. Bu web sitelerinin IP adreslerini herkesin hatırlaması zor olduğu için, bu hatırlaması zor IP adreslerini insan tarafından okunabilir adlara çevirmeye yardımcı olan DNS sistemi gelir. DNS ile artık IP adreslerini hatırlamanız gerekmez. Bunun yerine, alan adını hatırlamanız ve her şeyi yapmanız gerekir. Aslında, yedekte, DNS sunucusu ana bilgisayar adını alır ve tarayıcının veya uygulamanın daha sonra bağlanacağı bir IP adresine çözer.

Bu yazıda, bir Bash betiğinde bir ana bilgisayar adının/etki alanı adının bir IPv4 ve IPv6 adresine nasıl çözümleneceğini açıklayacağız. Ancak, komut dosyasını oluşturmaya geçmeden önce, ana bilgisayar adını/etki alanı adını bir IP adresine çözümlemek için kullanılabilecek bazı komutları gözden geçirelim.







ping atmak

Ping, neredeyse tüm işletim sistemlerinde bulunan en basit ve yerleşik araçtır. Bir ağdaki bir ana bilgisayarın erişilebilirliğini doğrulamak için kullanılır. Ancak, herhangi bir ana bilgisayar adı/etki alanı adına karşı IP adresini bulmak için de kullanabiliriz. Hedeflenen bir ana bilgisayar adının/etki alanı adının IP adresini bulmak için aşağıdaki sözdizimini kullanın:



$ping atmakhedef konak



Nslookup

Nslookup, ana bilgisayar adını bir IP adresine çözümlemek için yaygın olarak kullanılır. Bu komutu bir IP araması için kullanmak için aşağıdaki sözdizimini kullanın:





$nslookup hedef ana bilgisayarı

Ev sahibi

Başka bir komut satırı yardımcı programı ana bilgisayarı, herhangi bir ana bilgisayar adına/etki alanı adına karşı IP adresini bulmak için kullanılabilir. Bu komutu kullanmak için aşağıdaki sözdizimini kullanın:



$konak hedef konak

Sen

Dig, DNS ile ilgili çeşitli kayıtları sorgulamak için kullanılan başka bir kullanışlı komut satırı aracıdır. Herhangi bir ana bilgisayar adına/etki alanı adına karşı IP adresi bulmak için kullanılabilir. Belirli bir ana bilgisayar adına/etki alanı adına karşı bir IP adresi bulmak için Dig komutunu aşağıdaki şekilde kullanın.

$senhedef ana bilgisayar + kısa

Bir ana bilgisayar adını bir IP adresine çözümlemek için Bash betiği

Bir IP araması için bash betiğini kullanmak için aşağıdaki adımları izleyin:

  1. Herhangi bir metin düzenleyiciyi kullanarak bir bash dosyası oluşturun. Burada, adlı bir komut dosyası oluşturmak için Nano düzenleyiciyi kullanacağım. iplookup.sh .$sudo nanoscript.sh
  1. Komut dosyanıza aşağıdaki satırları kopyalayıp yapıştırın. Bu komut dosyasında, IP araması için Google'ın genel DNS sunucusunu belirttiğimi unutmayın. Ortamınıza göre başka bir DNS sunucusu belirleyebilirsiniz.# DNS sunucusunu belirtin
    Dns sunucusu='8.8.8.8'
    # IP adresi alma işlevi
    işlevget_ipaddr{
    IP adresi=''
    # Sırasıyla IPv4 ve IPv6 için A ve AAA kaydı
    # $1 ilk argümanı temsil ediyor
    Eğer [ -n '1 dolar' ];sonra
    ana bilgisayar adı='$ {1}'
    Eğer [ -İle birlikte 'Sorgu Türü' ];sonra
    Sorgu Türü='İLE'
    olmak
    # DNS arama işlemleri için host komutunu kullanın
    ev sahibi-T ${query_type} ${hostname} &> /dev/boş$ {dnsserver}
    Eğer [ '$?' -eq '0' ];sonra
    #ip adresini al
    IP adresi='$(host -t ${query_type} ${hostname} ${dnsserver}| awk '/has.*address/{print $NF; çıkış}')'
    Başka
    çıkış 1
    olmak
    Başka
    çıkış 2
    olmak
    # ip görüntüleme
    dışarı attı $ip_adresi
    }
    ana bilgisayar adı='$ {1}'
    içinsorguiçinde 'A-IPv4' 'AAAA-IPv6';yapmak
    Sorgu Türü='$(printf $sorgu | kesim -d- -f 1)'
    ipversion='$(printf $sorgu | kesim -d- -f 2)'
    adres='$(get_ipaddr ${hostname})'
    Eğer [ '$?' -eq '0' ];sonra
    Eğer [ -n '${adres}' ];sonra
    dışarı attı 'NS${ipversion}ana bilgisayar adının adresi${hostname}NS:$adres'
    olmak
    Başka
    dışarı attı 'Bir hata oluştu'
    olmak
    tamamlamak
  2. Tamamlandığında, sırasıyla dosyayı kaydetmek ve çıkmak için Ctrl+O ve Ctrl+X tuşlarını kullanın.
  3. Şimdi, hedeflenen bir ana bilgisayar adına/etki alanı adına karşı bir IP adresi bulmak için aşağıdaki sözdizimini kullanarak komut dosyasını çalıştırın:$./script.sh hedef ana bilgisayar

    Örneğin, google.com'un IP adresini çözmek için komut şöyle olacaktır:

    $./iplookup.sh google.com

    Çıktı şuna benzer olacaktır:

    Benzer şekilde, yahoo.com'un IP adresini çözmek için komut şöyle olacaktır:

    $./iplookup.sh yahoo.com

    Çıktı şuna benzer olacaktır:

    Hepsi bu kadar! Bu makalede, bir bash betiği kullanarak ana bilgisayar adını bir IPv4 ve IPv6 adresine çözümlemeyi öğrendik. Ayrıca IP araması yapmak için kullanılabilecek Ping, Nslookup, Host ve Dig gibi bazı komut satırı araçlarını da öğrendik.