GNU/Linux >> Belajar Linux >  >> Linux

Utilitas baris perintah Linux untuk menyelesaikan nama host menggunakan /etc/hosts terlebih dahulu

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.


Linux
  1. Batasi Akses Ke Server Linux Menggunakan Pembungkus TCP

  2. Cara Shutdown atau Reboot Linux menggunakan Command Line

  3. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  1. Buat File Host Khusus Pengguna Untuk Melengkapi /etc/hosts?

  2. Opsi Perintah TCP Wrapper (hosts.allow &hosts.deny) di Linux

  3. Di file /etc/hosts/ saya di Linux/OSX, bagaimana cara melakukan subdomain wildcard?

  1. Perbedaan antara /etc/hosts dan /etc/resolv.conf

  2. Batas karakter baris perintah Linux

  3. Batas Ukuran /etc/hosts (Linux)