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ısaBir 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:
- 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
- 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 - Tamamlandığında, sırasıyla dosyayı kaydetmek ve çıkmak için Ctrl+O ve Ctrl+X tuşlarını kullanın.
- Ş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.comBenzer şekilde, yahoo.com'un IP adresini çözmek için komut şöyle olacaktır:
$./iplookup.sh yahoo.comHepsi 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.