質問: / etc / hostsがmacos 10.13で機能しない /etc/hostsファイルを使用して、一部のwebサイトをlocalhostにリダイレクトしようとしました。そのために、sudo nano /etc/hostsを使用してターミナルでファイルを開き、ファイルを変更して保存しました。最後のステップとして、sudo killall -hup mdnsresponderを使用してdnsキャッシュをフラッシュしました。私のhostsファイルは次のようになります。$ cat /etc/hosts ## # host database # # localhost is used to configure the loopback interface # when the system is booting. do not change this entry. ## 127.0.0.1 somethig.com 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost これは単に機能しません。運が悪いのに再起動してみた。また、多くの調査を行いましたが、インターネット上で有効な答えは見つかりませんでした。 osはまだこのファイルを使用していますか、それとも実際には機能しませんか?macos 10.13を使用しています。
回答: 10.13.3システムで動作します。% grep example /etc/hosts 127.0.0.1 example.com % perl -msocket -e 'printf "%vx\n", inet_aton "example.com"' 7f.0.0.1 % dns-sd -g v4 example.com date: ---tue 06 mar 2018--- 10:49:47.455 ...starting... timestamp a/r flags if hostname address ttl 10:49:47.457 add 2 -1 example.com. 127.0.0.1 1 しかしながら!一部のアプリケーション(google chromeなど)は、独自のdnsサーバー(たとえば、8.8.8.8に対して)に対して独自のクエリを実行する場合があります。また、アプリケーションがdns要求のみを行い、システムリゾルバーを通過しない場合、アプリケーションは/etc/hostsファイルを簡単に無視できます。% host example.com example.com has address 93.184.216.34 example.com has ipv6 address 2606:2800:220:1:248:1893:25c8:1946