ソフトウェア(電子メールクライアントやウェブブラウザなど)によるWindowsネットワーク接続の問題が発生していますか?これらの問題は、ネットワークの設定が破損していることが原因となることがあります。 netsh winsock reset
コマンドを使用すると、重要なネットワーク設定がデフォルトにリセットされ、これらのネットワークの問題が修正されることがあります!
この記事では、ネットワーク設定のデータベースであるWinsockカタログをリセットする方法と、正しい設定やマルウェアがネットワーク接続に与える影響について実用的なヒントを学ぶことができます。続きを読んで、この意味深なWinsock用語について理解を深めましょう!
前提条件
この記事はチュートリアルとなっています。ステップバイステップで進める場合は、ローカル管理者権限を持つWindowsのサポートされているバージョンを使用してください。
Winsockとは何ですか?
バークレーのUNIXソケットインターフェースに基づいて、Winsockはアプリケーションプログラミングインターフェース(API)であり、ウェブブラウザなどのアプリケーションと実際のネットワークデバイスとの間のさまざまなネットワークプロトコルの通信を統括します。
以下に示す図は、Winsock wsock32.dll
ライブラリがWindowsのネットワーキングスタック内のどこにあるかを示しています。

WinsockはAPIとして機能するだけでなく、Winsockカタログとして知られるデータベースに設定を保存します。Windows 10では、カタログには名前空間プロバイダと呼ばれるものが含まれており、WinsockとDNSなどのサービスの間のマップを提供します。また、TCP/IPなどのネットワークプロトコルの詳細を提供するベースサービスプロバイダも含まれています。
なぜWinsockを「リセット」する必要があるのでしょうか。
Winsockカタログには、間違ったエントリが含まれたり、破損したりすることがあります。Windowsコマンドプロンプトでnetsh winsock reset
を実行することで、Winsockカタログと関連するレジストリ設定がデフォルトにリセットされます。関連するレジストリ設定は以下のパスにあります。
では、なぜWinsockのリセットを行いたいのでしょうか。
- マルウェアや広告ウェアがユーザーとインターネットの間に介入するためにWinsockを使用する場合。
- A network device is incorrectly installed or removed.
- レジストリやファイルシステムの問題により、Winsockカタログが破損する場合があります。
A real-life example of Winsock malware is HackTool.Win32.Proxifier.A, from the Trend Micro Threat Encyclopedia. Don’t worry, this won’t download any malware!
Windows Server 2012およびWindows Vistaより前では、不正な設定とマルウェアがWinsockカタログ内にレイヤードサービスプロバイダ(LSP)として存在していました。これについては後の記事で詳しく説明します。最新バージョンのWindowsでは、LSPは非推奨となり、機能はWindowsフィルタリングプラットフォームに移動されました。
Winsockの問題は以前ほど頻繁に発生しなくなりましたが、まだ発生する可能性があります。インストールされているネットワークデバイスの修正や破損したWinsockカタログの修復方法については、以下をお読みください。
netsh winsock reset
でWinsockをリセットする方法
Winsockのリセットは、Windowsのコマンドラインツールnetsh
を使用して行います。 netsh
コマンドは、実行中のコンピュータのネットワーク構成を表示および変更するだけでなく、Winsockカタログをリセットすることもできます。
Winsockの変更を行う前に、変更前と変更後の設定のスナップショットを保存することをお勧めします。以下の手順に従って保存します。
- 管理者としてコマンドプロンプトを開きます。
2. 下記のコマンドをコピーして実行し、Winsockカタログの結果をC:\winsock-before.txtというファイルに保存します。
以下のコマンドは、C:\ディレクトリにいることを前提としています。そうでない場合、ファイルは現在のコマンドプロンプトのディレクトリに保存されます。
保存されたWinsockカタログの例を以下に示します。あなたのものは、あなたのネットワークデバイスとエントリを反映したものに似ています。

3.次に、次のコマンドを実行してWinsockカタログをリセットします。

netsh winsock reset
command.リセットコマンドを実行すると、
Protocol_Catalog9
レジストリエントリが次の場所に保存されます:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog_Before_Reset
。これらのエントリはバイナリエンコードされているため、平文で読むことがはるかに簡単です。
4.今度はWinsockカタログのスナップショットをもう一度取り、さきほど行った変更を文書化します。
5.ネットワークのリセットを完了するためにコンピュータを再起動します。
すべてのネットワークの問題をnetsh winsock reset
コマンドで解決できるわけではありません。その場合には、netsh int ip reset
コマンドが便利です!このコマンドの使用方法とタイミングについては、以下をお読みください。
netsh int ip reset
でTCP / IP設定をリセットする
Winsockカタログは問題の原因となるネットワーク設定のみではありません。先に述べたように、マルウェアや誤った設定は、新しいバージョンのWindowsでは使用されなくなったWinsock LSPとして存在することがあります。
より一般的に、ネットワークの問題はTCP/IPの設定で発生します。次のネットワークの問題がある場合は、TCP/IPの設定をリセットする方法を学ぶために続けて読んでください。
- ウェブブラウザやメールクライアントでの接続が制限されるか、接続が完全にない場合。
同じローカル管理者コマンドプロンプトで、以下の手順に従ってTCP/IPの設定をリセットします。
- IP設定をリセットする前に、現在のIP設定のスナップショットを表示するために次のコマンドを実行します。リセットが失敗した場合、以前のネットワーク設定の記録が役立ちます。

2. コマンドプロンプトで次のコマンドを実行して、IP設定をリセットします。
リセットコマンドの出力を保存するには、次のようなコマンドを使用して出力をファイルにリダイレクトします。
netsh int ip reset > log.txt
。
netsh int ip reset
コマンドを使用してTCP/IPの設定をリセットすると、次のレジストリ設定が上書きされます。

3. ipconfig /all
コマンドを使用して、IPアドレス、デフォルトゲートウェイ、およびDNS設定など、ネットワーク設定を再確認してください。
さらなる情報と次の手順
ネットワーキングは多くの潜在的な問題を抱える複雑なトピックですが、以下にリンクされた2つの追加リソースが役立つかもしれません。
netsh winsock reset
またはnetsh int ip reset
コマンドによってすべてのネットワーキングの問題が解決するわけではありませんが、どちらのコマンドも素晴らしい出発点を提供します!