Dalam artikel ini, kami akan menerangkan cara menyelesaikan nama host / nama domain ke alamat IPv4 dan IPv6 dalam skrip Bash. Namun, sebelum melanjutkan pembuatan skrip, mari kita tinjau beberapa perintah yang dapat digunakan untuk menyelesaikan nama host / nama domain ke alamat IP.
Ping
Ping adalah alat yang paling mudah dan terbina dalam yang terdapat di hampir semua sistem operasi. Ia digunakan untuk mengesahkan jangkauan host dalam rangkaian. Namun, kami juga dapat menggunakannya untuk mencari alamat IP daripada nama host / nama domain mana pun. Gunakan sintaks berikut untuk mencari alamat IP nama host / nama domain yang disasarkan:
$pingtuan rumah sasaran
Nslookup
Nslookup banyak digunakan untuk menyelesaikan nama host ke alamat IP. Untuk menggunakan perintah ini untuk carian IP, gunakan sintaks berikut:
$host-sasaran nslookup
Tuan rumah
Host utiliti baris perintah lain boleh digunakan untuk mencari alamat IP berbanding nama host / nama domain apa pun. Untuk menggunakan perintah ini, gunakan sintaks berikut:
$tuan rumah sasaran-tuan rumah
Anda
Dig adalah satu lagi alat baris perintah yang berguna yang digunakan untuk menanyakan pelbagai rekod berkaitan DNS. Ia dapat digunakan untuk mencari alamat IP terhadap nama host / nama domain apa pun. Gunakan perintah Dig dengan cara berikut untuk mencari alamat IP dengan nama host / nama domain tertentu.
$awaktarget-host + pendekSkrip Bash untuk menyelesaikan nama host ke alamat IP
Untuk menggunakan skrip bash untuk carian IP, ikuti langkah berikut:
- Buat fail bash menggunakan mana-mana penyunting teks. Di sini saya akan menggunakan editor Nano untuk membuat skrip bernama iplookup.sh .$sudo nanoskrip.sh
- Salin-tampal baris berikut dalam fail skrip anda. Perhatikan bahawa, di sini dalam skrip ini, saya menentukan pelayan DNS awam Google untuk carian IP. Anda boleh menentukan pelayan DNS lain mengikut persekitaran anda.# Tentukan pelayan DNS
pelayan dns='8.8.8.8'
# fungsi untuk mendapatkan alamat IP
fungsidapatkan_ipaddr{
alamat IP=''
# A dan rekod AAA untuk IPv4 dan IPv6, masing-masing
# $ 1 bermaksud hujah pertama
sekiranya [ -n '$ 1' ];kemudian
nama hos='$ {1}'
sekiranya [ -Dengan 'pertanyaan_jenis' ];kemudian
jenis pertanyaan='KE'
menjadi
# gunakan arahan host untuk operasi pencarian DNS
tuan rumah-t $ {pertanyaan_jenis} $ {nama tuan rumah} &> /penipu/batal$ {dnsserver}
sekiranya [ '$?' -eq '0' ];kemudian
# dapatkan alamat ip
alamat IP='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
yang lain
jalan keluar 1
menjadi
yang lain
jalan keluar 2
menjadi
# paparan ip
membuang $ ip_address
}
nama hos='$ {1}'
untukpertanyaandalam 'A-IPv4' 'AAAA-IPv6';buat
jenis pertanyaan='$ (pertanyaan printf $ | potong -d- -f 1)'
ipversi='$ (pertanyaan printf $ | potong -d- -f 2)'
alamat='$ (get_ipaddr $ {nama host})'
sekiranya [ '$?' -eq '0' ];kemudian
sekiranya [ -n '$ {alamat}' ];kemudian
membuang 'The$ {ipversion}alamat Nama Hos$ {nama tuan rumah}adalah:$ alamat'
menjadi
yang lain
membuang 'Ralat berlaku'
menjadi
selesai - Setelah selesai, gunakan Ctrl + O dan Ctrl + X untuk menyimpan dan keluar fail masing-masing.
- Sekarang untuk mencari alamat IP dengan nama host / nama domain yang disasarkan, jalankan skrip menggunakan sintaks berikut:$./script -sh target-host
Sebagai contoh, untuk menyelesaikan alamat IP google.com, perintahnya adalah:
$./iplookup.sh google.comHasilnya akan serupa dengan ini:
Begitu juga, untuk menyelesaikan alamat IP yahoo.com, perintahnya adalah:
$./iplookup.sh yahoo.comHasilnya akan serupa dengan ini:
Itu sahaja yang ada! Dalam artikel ini, kami telah belajar untuk menyelesaikan nama host ke alamat IPv4 dan IPv6 menggunakan skrip bash. Kami juga mempelajari beberapa alat baris perintah lain seperti Ping, Nslookup, Host, dan Dig yang dapat digunakan untuk melakukan pencarian IP.