pencarian dns ditentukan dalam / etc / hosts dan kemudian dscacheutil! = berbeda dari dig, host, chrome

0

Melalui rantai panjang upgrade OS saya menjalankan macOS Sierra 10.12.5.

Mengatur entri dalam file / etc / hosts saya hanya berfungsi sesekali, kebanyakan tidak.

Misalnya pada mesin yang baru saja reboot. Dengan satu-satunya jaringan yang diatur ke Wifi.

Semuanya tidak dimodifikasi dan baik-baik saja:

bash-3.2$ grep facebook.com /etc/hosts
# 127.0.0.1 facebook.com
bash-3.2$ sudo killall -HUP mDNSResponder
bash-3.2$ dscacheutil -q host -a name facebook.com
name: facebook.com
ipv6_address: 2a03:2880:f127:283:face:b00c::25de

name: facebook.com
ip_address: 157.240.18.35

bash-3.2$ host facebook.com
facebook.com has address 157.240.18.35
facebook.com has IPv6 address 2a03:2880:f127:283:face:b00c::25de
facebook.com mail is handled by 10 msgin.vvv.facebook.com.

Tapi kemudian saya batalkan komentar pada baris itu untuk facebook, dan saya mendapatkan ini:

bash-3.2$ grep facebook /etc/hosts
127.0.0.1   facebook.com
bash-3.2$ sudo killall -HUP mDNSResponder
bash-3.2$ dscacheutil -q host -a name facebook.com
name: facebook.com
ipv6_address: 2a03:2880:f127:283:face:b00c::25de

name: facebook.com
ip_address: 127.0.0.1

bash-3.2$ host facebook.com
facebook.com has address 157.240.18.35
facebook.com has IPv6 address 2a03:2880:f127:283:face:b00c::25de
facebook.com mail is handled by 10 msgin.vvv.facebook.com.

Saya tidak melihat ada yang mencurigakan di keluaran scutil --dns. Itu dig perintah dan chrome keduanya tampak kebal terhadap perubahan / etc / hosts.

membantu?

Ben Hyde
sumber
host, gali dan Google Chrome tidak melanjutkan sepanjang jalur resolusi DNS macOS umum - jadi tidak ada yang salah dengan hasil Anda ...
klanomath

Jawaban:

1

Perintah ini akan memberi tahu Anda proses mana yang membuat perubahan pada file host Anda:

sudo dtrace -qn 'syscall::open*:entry /arg1&3/ { printf("%d %s %s\n", pid, execname, copyinstr(arg0)); }' | grep hosts
Snacking_IT
sumber
Trik yang sangat keren. Tapi, saya tidak punya alasan untuk curiga ada yang memodifikasi file / etc / host saya, kecuali saya. Masalahnya adalah bahwa pengeditan saya tidak menyebar ke semua aktor yang meminta dns.
Ben Hyde