Solusi 1:
Ini mudah dicapai dengan getent
:
getent hosts 127.0.0.1
getent
akan melakukan pencarian untuk semua jenis data yang dikonfigurasi di nsswitch.conf
.
Solusi 2:
Salah satu alat yang bisa digunakan adalah getent
. Jadi Anda bisa menggunakan getent hosts www.google.com
, atau getent hosts localhost
. Ini akan mengambil entri dari database seperti yang ditentukan dalam konfigurasi Sakelar Layanan Nama Anda /etc/nsswitch.conf
.
Untuk penerapan yang lebih modern, gunakan getent ahosts www.google.com
yang akan mendapatkan banyak hasil.
Solusi 3:
Gunakan getent ahosts
, misalnya:
$ getent ahosts www.google.com | sed -n 's/ *STREAM.*//p'
216.58.210.196
2a00:1450:4006:803::2004
Anda akan mendapatkan semua alamat IPv4 dan IPv6, melalui penyelesai glibc (sehingga menggunakan /etc/hosts
pertama, seperti yang biasa dikonfigurasi di /etc/nsswitch.conf
).
Jangan gunakan getent hosts
, karena ini akan memberi Anda alamat IPv6 atau IPv4 (bukan keduanya), dan protokol yang dipilih mungkin bukan salah satu yang tidak berfungsi. Memang, alamat IPv6 umumnya lebih disukai, tetapi di beberapa tempat, data IPv6 difilter (tidak didukung) oleh router.
Solusi 4:
Anda dapat menggunakan pembungkus gethostbyname() (usang) seperti:
python -c 'import socket;print socket.gethostbyname("www.google.com")'
Atau pembungkus getaddrinfo() seperti:
python -c 'import socket;print socket.getaddrinfo("www.google.com","http")[0][4][0]'
Perhatikan bahwa getaddrinfo akan mengembalikan semua instance sebagai daftar. Bagian terakhir dari perintah hanya memilih tupel pertama. Ini juga dapat mengembalikan alamat IPv6.
Solusi 5:
resolveip
akan melakukan ini.
Anehnya, itu adalah bagian dari paket mysql-server di RHEL dan Ubuntu.