Win8.1 の hosts ファイルは、理由もなく無効です.
私のHosts
ファイルは以前は通常どおり使用できますが、何らかの理由で突然無効になりました...
写真のように、デモテストを行います.
hosts
のファイルパスが正しく、他の干渉項目がないことを確認するためのマッピングが1行しかないことがわかります...
ipconfig/flushdnsを使用してDNSキャッシュをクリーンアップし、実際にDNSクライアントのサービスも停止しました...その後、pingを続行しましたが、それでも戻りました実際のDNS解決アドレスですか...
図に示すように、systemの権限も割り当てられていることがわかります...自分のアカウントと以下のAdminグループのアカウントの権限も完全に制御されています...
それが状況です.最近突然失敗した理由がわかりません...乗っ取られてしまう可能性はありますか?
インターネットを検索しましたが、解決策は役に立ちませんでした.理由がわかりません.
-
分割線です.解決策は14階の自分の返信にあります.返信を解決策としてマークできないため、投稿しました.
- <引用>
実際、私は最近、Windowsがhostsファイルを正常に読み取れたかどうかを検出する方法を模索しています...現在の状況はに非常に似ているためWindowsはhostsファイルの存在を無視します(ただし、パスを間違えていません)...したがって、Windowsが正常に読み取られたかどうかを検出する方法がある場合hostsファイルを使用してください...
Windowsがhostsファイルをキャッシュするかどうか疑問に思っています.この場合、メモリにhostsファイルのコピーがあるはずです.このメモリ空間を読み取り、コンテンツが実際のhostsファイルのコンテンツに対応しているかどうかを確認して、正常に読み取られたかどうかを判断する方法があります...
Windowsがhostsファイルをキャッシュせず、対応するマッピングがあるかどうかを確認するためにDNSの説明が要求されるたびに直接hostsファイルを開く場合「はい」の場合、Windowsがhostsファイルに接触したかどうか、接触が成功したかどうかなどを検出する方法もあります.たとえば、いくつかのメッセージレコードが生成されますか?
対応する検出方法を見つけるのは難しいので、何かアイデアはありますか?
最近ご協力いただきありがとうございました.役立つヒントをたくさん提供してくださいました.
これで問題は自分で解決しました.発表は次のとおりです:
私が推測したところによると、私はメッセージロガーを使用してhostsファイルに関連するシステムメッセージを追跡しています...比較のために、Windows 8.1と比較のために、仮想マシンで実行されているWindows XPで操作します...
まず第一に、実際には、ネットワーク通信機能を持つすべてのプログラムがHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters\
を検出することがわかりました
このキーの下にUseHostsFile値はありますか?データとは...しかし、XPまたは8.1にはそのような値がないことがわかりましたが、以前の実験によると、XPは正常に読み取れることがわかりますhostsファイル.これは無関係なアイテムであると結論付けることができます...hostsファイルを読み込まないように手動で強制できます.このキーの値を変更するだけです)
そして、奇妙な現象が見つかりました.hostsファイルを手動で変更するたびに、svchost.exeという名前のプロセスが8.1の下に表示され、アクセスしようとしています.hostsファイルですが、結果はAcces Deniedです...XPでは、同じ名前のプロセスがhostsファイルにアクセスしようとしましたが、結果はでした成功...
メッセージレコーダーによって提供されるプロセスのPIDによると、プロセスが実行するサービスの共通サービスはDNSクライアント...なので、前述のDNSである必要があると結論付けることができます.クライアントサービスに問題があります...ファイルへのアクセスが拒否されているため、それはアカウントの問題である必要があるため、私はいつもDNSクライアントのプロパティページを開き、ログインタブに移動して見つけます使用されるアカウントはデフォルトのローカルシステムアカウントではなく、「Network Service」という名前の組み込みのセキュリティプリンシパル...
この時点では、すべてが明らかです.最終的な分析では、これは権限の問題です...DNSクライアントサービスが使用するアカウントは、システムではなく、ネットワークサービス……私はsystemアカウントに完全なアクセス制御を与えましたが、記事の冒頭のスクリーンショットによると、Network Serviceのセキュリティプリンシパルがないことがわかります...これで、systemアカウントとNetwork Serviceセキュリティプリンシパルが関連付けられていないと結論付けることができるため、起動後にDNSクライアントサービスを正常に読み取ることができませんhostsファイル、無効なhostsファイル...
解決策は、etcフォルダーのアクセス権限を編集し、Network Serviceのセキュリティプリンシパルを追加して、少なくとも読み取り権限を付与してから、DNSクライアントサービスを再起動することです.しかし...現在、私のhostsはすべて正常です...
-
余談:メッセージレコーダーを実験したところ、言及する価値のあることが1つ見つかりました:
DNSクライアントサービスが閉じていない場合、hostsファイルが更新されるたびに、svchost.exeプロセスのみが読み取られますhostsファイル...しかし、DNS Clientサービスを閉じると、ネットワーク通信機能を持つすべてのプロセスがこのhostsファイルを個別に読み取ります...
さらに、DNSクライアントサービスが閉じていない場合、svchost.exeプロセスだけがhostsファイルを読み取ることができますが、hostsは1回だけ読み取り、svchosts.exeはhostsファイルが次に変更されるまでを何度も読み取れませんでした.hostsファイルは、期間中に他のプログラムによって作成されたネットワークアクセス要求の数に関係なく...しかし、サービスが閉じられると、ネットワーク通信機能を持つすべてのプロセスは、ネットワークにアクセスするたびに独立してhsotsを読み取ります.file、hostsファイルが更新されているかどうかに関係なく...
それで、hosts
がどのように機能するかを推測しました:
まず、ネットワーク通信機能を備えたすべてのプロセスにネットワーク通信モジュールDLLを含める必要があることを知っています...実際、このDLLの作成当初は、DNSクライアントサービスの存在は考慮されていませんでした...そのため実際、DNS Clientサービスを閉じた後のパフォーマンスは元の処理プロセスです.各プロセスは独自に独自のネットワーク接続を管理し、独自のネットワークアドレス解決を処理します(Windowsネットワーク通信モジュールはまた、最初にこのように定式化されました)...そして、独自のネットワークアドレス解決に対処するための1つのステップは、最初にhostsファイルを解析することです.これにより、ネットワーク通信機能を持つ各プロセスが独立してアクセスします.hostsファイルを作成して解析します...現時点ではキャッシュメカニズムはありません.読み取りと解析の直後に解放され、次のネットワークアドレス解決要求が発生したときにhostsファイル、ただしhostsは期間中に更新されません...
DNSクライアントサービスは後で登場しましたが、目的はDNS解決の混乱を解決することです...何のために登場したとしても、とにかくネットワークアドレス解決機能を使用していました...…この時点から、ネットワークアクセス機能を備えた各プロセスに含まれるネットワーク通信モジュールがネットワークアドレス解決を処理するとき、最初にDNSクライアントサービスがシステムで開始されているかどうかを確認します.開始されている場合は、次に、リクエストを完了させておきます...したがって、hostsの更新を維持するには、すべてのプロセスに移動することなく、DNS Clientサービスでのみ行う必要がありますhostsファイルを読み取る...したがって、上記のプロセスがあります.hsotsファイルが更新されるたびに、svchosts.exeプロセスのみが存在しますhostsファイルを読んで、他のプロセスがネットワークにアクセスすると、hostsファイルの読み取りレコードが生成されなくなります...そして、svchost.exeプロセスは、ネットワークアドレス解決要求が着信するたびにhostsファイルを更新するわけではありません.逆に、hostsの次の更新を待ってから、もう一度読み取ります.読み込んだキャッシュを常に使用する...
つまり、DNSクライアントサービスは本当に有益であることがわかります.これにより、ネットワークアドレス解決へのアクセスが統合され、ネットワーク要求が整然と行われます...そして、統合アクセスはキャッシングメカニズムを追加して道を開く...これが「独立した自律」であり、キャッシングメカニズムが採用されている場合、各プロセスがhostsファイルを個別に監視する必要があるためです.これは明らかに賢明なアプローチではありません...キャッシュメカニズムの後、hostsファイルへのアクセスは大幅に削減され、ネットワークにアクセスするたびにhostsファイルを読み取る代わりに、キャッシュされたデータが使用されます.システムの処理速度を改善...
返信リスト(回答:22)
hosts
のファイルエンコーディングが間違っている可能性があります.試してください:
Windowsロゴキー+ Xキーを押し、[コマンドプロンプト(管理者)]をクリックして、次のコマンドを順番に入力し、Enterキー(Enter)を押して実行します.
chcp 936
type "%Windir%\System32\drivers\etc\hosts"
hosts
ファイルの内容が、文字化けした文字の代わりに正常に表示されるかどうかを確認します
- 文字化けしている場合は、コマンドプロンプトで実行を続けます.
del "%Windir%\System32\drivers\etc\hosts"
応答1# ->にスキップ2 #ATongMu複数のコーディングメソッドを切り替えようとしましたが、
hosts
ファイルも削除しようとしましたが、それでも無効です...もう一度ありがとうございました、他に考えられる理由があるかどうかわかりませんか?
あなたの熱意をありがとう...
これを行いますか?host
ファイルを変更するにはどうすればいいですか?
ローカルループバックアドレスを他のIPアドレスと置き換えることもできます.
応答3# ->にスキップ4 #ATongMu新しいテキストドキュメントを作成する前に
hosts
を削除してから、メモ帳を使用してデータを追加しようとしました...その後、NPPを使用してASCII
UTFなどで試してみましたが、まだ機能しません...実際には、以前と同じようにhostsファイルを使用してgoogleサービスへのアクセスを安定させていました.以前はping www.google.com.hkは、hostsファイルで定義されたアドレスを返します.最近、突然googleへのアクセスが異常であることがわかり、pingを実行したところ、アドレスがなくなっていることがわかりましたhostsの定義と一致していますが、nslookupコマンドのデフォルトのクエリによって返されるアドレス...そしてこのプロセスでは、私は決して正しくありませんでしたhostsファイルはなんらかの操作を受けており(上手に使えば、いじる必要はありません)、どうしてもうまくいきません...後で、hostsに進む前に問題が見つかりましたさまざまな削除、再作成、再エンコード操作...
また、昨日
sfc/scannow
コマンドを実行してシステムを修復しようとしましたが、最終的に問題が解決していないことがわかりました...
応答4# ->にスキップ5 #WangXia試してみる:
hosts
を変更した後、コマンドプロンプトで実行します:
netsh Winsock reset
再起動しても問題が解決するかどうか確認してください...
応答7# ->にスキップ8 #JohnsWu説明と実行された操作に従って、システムを復元するか、システムを復元した後にもう一度テストして、
Host
ファイルが初期状態であることを確認することをお勧めします...
応答8# ->にスキップ12 #ATongMuこんにちは.成功しなかったWin8.1の下にhostsファイルを移動して、Windowsを実行するように移動しようとしました.XP仮想マシンで、仮想マシンの元のhostsファイルを置き換えてから、cmd inputを実行します
hostsファイルで定義された222.222.222.222のIPアドレスが正常に解析されたことがわかりました...これは、私のhostsファイルに問題がないことを意味します...
そのため、問題は他の領域にあるはずです.引き続き調査できる可能性を提案してください、ありがとうございます!
応答9# ->にスキップ10 #ATongMuこんにちは!何か、私はまた自由に戻ってこの助けを続けています、私は非常に残念です...
と私は
hosts
と再構築を削除しようとしました.つまり、新しいアカウントでほとんどすべてのメソッドに該当するように再試行しようとしました.)私はより多くなる、この問題は
Win8.1
自体のように思われます、これは可能ですか?windows
の以前のversionでは発生しません.返信を願っています...
応答20# ->にスキップ22 #ATongMuこんにちは、問題は解決されました.すべての返信でディスカッションをざっと確認できます.解決策はメインの投稿で直接見つけることができます.メインの投稿にコピーしました...
また、すべての主要な分析とエラー修正プロセスをざっと調べたい場合は、メインの投稿で大きなフォントセクションを直接見つけることができます.解決策は私によってマークされています...
応答9# ->にスキップ13 #ATongMu実際には、
hosts
file...現在の状況のために、windows
を検出するのに最近の方法を見つけようとしていました.Windows
自体が似ているhosts
ファイルの存在には無関係です(ただし、誤ったパスを作成しませんでした)...を検出する方法がある場合Windows
の読み取りの成功hosts
ファイル...私は思考、
windows
はhosts
ファイル、そのようなメモリはhosts
ファイルのコピーを持つ必要があります.このメモリ容量を読む方法は、実際のhosts
ファイルの内容に対応するかどうかを確認してください.
windows
がhosts
ファイルをキャッシュしない場合は、dns説明がhosts
ファイルの検出を開くたびに、対応するマッピングがあるかどうかWindows
を検出する方法がある場合は、メッセージレコードを生成する場合は、正常にタッチするかどうかにかかわらず、タッチhosts
ファイルです.対応するテスト方法を見つけていないので、あなたがいくつかの高さがあるかどうかわからない?
応答13# ->にスキップ14 #ATongMuPを比較するには、仮想マシンで実行されている<今日の助けを借りて、たくさんの親切なヒントを与えました!
問題は、次のように公開された私自身によって解決されました:
参照によると、私の推測に従って、私は
hosts
file...に関連するシステムメッセージを追跡するためにメッセージロガーを使用して、windows 8.1
Pを比較するには、仮想マシンで実行されているのと操作... まず、すべてのネットワークのすべてのネットワークが
を検出することを確認しました.HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\Services\DNScache\Parameters\
このボタンの
usehostsfile
は存在しますが、データはどのように...ですが、XPまたは8.1に関係なく、値がないことがわかりましたが、以前の実験によると、それは知られていますそのXPは正しくhosts
ファイルを読み取ることができますので、これは無関係です...手動でhosts
fileを手動で読んでいない、このキー値を変更することはできません)それから私は奇妙な現象を見つけました、
hosts
ファイルを手動で変更するたびに、にアクセスしようとするために
ファイルがsvchost.exe
というプロセスを表示します.hostsACCES
...の...では、hosts
ファイルにアクセスしようとしても同じ名前のプロセスもありますが、結果は成功
...メッセージロガーが提供するプロセスのPIDによると、それを追跡するサービスに共通のサービスがあり、」のプロパティページを習慣的に開く、[ログイン]タブに移動し、使用されているアカウントがデフォルトのローカルシステムアカウントではないが、「
と呼ばれます.DNSクライアント
...であると判断できます.DNS.クライアント
サービスには問題があります.アクセスファイルは拒否されているため、アカウントの問題は確実に説明されているので、「DNSクライアント
ネットワークサービス」の組み込みセキュリティBODY...すべてが明確で、まだそうである.それはまだ問題のある権利です...
dnsクライアント
サービスが使用するアカウントはsystem
ではありません.しかし、ネットワークサービス
...私のスクリーンショットによると、私は私のスクリーンショットによると、私はネットワークサービス
セキュリティプリンシパルを欠いていることを見つけることができます.system
アカウントとネットワークサービス
セキュリティ本文は関連付けられていないため、起動hosts<
hostsの後に
dns client
サービスを正しく読み取ることはできません./CODE>ファイルの結果、hosts
ファイルが無効です...解決策:etcフォルダへのアクセス、
ネットワークサービス
セキュリティ本体を追加し、読み取りを許可する許可を与える、dns client
サービスを再起動する許可を与えます...現在のMyhosts
はすべて普通...
-疑問口:メッセージロガーを使用して実験を行うときは、言及する価値のある点を見つけます.
を読みます.
dnsクライアント
サービスが閉じられていない場合、hosts
ファイルはsvchost.exe
プロセスの読み取りhosts
file...しかしdnsクライアント
サービスを閉じると、すべてのネットワーク通信機能がこのhosts
file...および閉鎖
DNSクライアント
サービスがない場合、ネットワーク通信機能を持つプロセスアクセスネットワークは、Hosts
Fileの読み取りメッセージをトリガしません...サービスの後に閉じたとき、ネットワーク通信機能を持つすべてのメッセージは毎回HSOTS
ファイルを読み取るメッセージをトリガし、それは自己読み取りで解析され、読み取るコミュニティプロセスはありません.hosts
file...だから私は
の作業原理を推測しますhosts
:まず、ネットワーク通信機能を持つすべてのプロセスにネットワーク通信モジュールDLLが含まれていることがわかります.実際にこのDLLの準備では、のみを保守するために.
DNSクライアント
サービスの存在を考慮していません...実際、DNSクライアント
サービスのパフォーマンスは、元の処理プロセスです.独自に独自のネットワーク接続を独立して管理し、ネットワークアドレス分析(Windows
ネットワーク通信モジュールに依存しない)これはこのようにしている場合でも、あなた自身のネットワークアドレスの解決を処理します.もちろん、hosts
ファイルを解決するためのステップがありますので、ネットワーク通信機能の各プロセスは独立してアクセスされます.hosts
ファイルと解析...および
DNSクライアント
サービスは後で表示されます、目的はDNS解決のカオスを解決することです...問題ではありませんとにかく過去のネットワークアドレスを解決するのは何ですか...現時点では、各ネットワーク通信モジュールにはネットワークアドレス解決を扱うネットワーク通信モジュールが含まれていますが、まずシステムを見ていきますか?startDNSクライアント
サービス、起動がある場合は、Hosts
のメンテナンスのために、DNSクライアント
サービスは利用可能で、hosts
ファイルをすべてのプロセスに読む必要はありません.そのため、上記のプロセスがあります.HSOT
プロセスのHSOTS
ファイルの後、
svchosts.exehosts
ファイルのみ.他のプロセスはネットワークにアクセスしている間、文書の読み取り記録を生成しなくなりました...
だから
dns client
サービスが確かに良好であることがわかりますので、過度のhosts
ファイルの読み取りを縮小し、ネットワークアドレス解決へのアクセスが統合されています.以前に「独立した自律」、すべてのプロセスはHosts
ファイルにアクセスするたびにhosts
ファイルを読み取ります.最新のhosts
ファイルを読み、次にdnsクライアント
の自身のメモリ空間をキャッシュすると、各解像度はキャッシュ要求データのようなもので、アクセスを速めることができます...√
応答14# ->にスキップ15 #WangXia 1申し訳ありません、私は今返信します...
問題を解決して原理を分析してくれてうれしい...
解決策の手順:
Windowsロゴキー+ Xキーを押し、[コマンドプロンプト(管理者)]をクリックして、次のコマンドを順番に入力し、Enterキー(Enter)を押して実行します.
SC停止Dnscache
SCconfig Dnscache obj="NT AUTHORITY\NetworkService"
TAKEOWN/F "%Windir%\System32\drivers\etc"/A
icacls "%Windir%\System32\drivers\etc"/grant "NT AUTHORITY\NetworkService":RX
SC start Dnscache
コマンドの説明:
- Dnscache(DNS Client)サービスを停止します
- Dnscacheサービスを実行しているセキュリティプリンシパルをNetwork Service<として構成します/li>
- etcフォルダーの所有権を管理者グループに付与する
- etcフォルダーにNetwork Serviceの読み取りおよび実行アクセス許可を追加します
- Dnscacheサービスを開始します
上記のコマンドは、コミュニティメンバーによって提供されるソリューションから要約されています、解釈の権利はそれらに属しています...
√
応答14# ->にスキップ17 #JohnsWuご返信が遅れました.
問題が解決したことを嬉しく思います...同時に、私も共有させていただきます.他のユーザーがそのような問題に遭遇した場合、彼らは以下から学ぶことができると信じています...
応答4# ->にスキップ6 #JohnsWu
同時に、システムのデフォルト設定を変更することはお勧めしません.変更する必要がある場合は、最初にバックアップ操作を行ってください...通常、Hostファイルを適切に変更することで、Webサイトにすばやくアクセスできます...p>
特定のWebサイトのIPアドレスとURLを
Host
ファイルの最後の行に追加すると、Webサイトに簡単かつ迅速にアクセスできるようになります...状況も非常に特殊です.後で再試行するか、システムを以前の通常の状態に復元することをお勧めします......