Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

「アクセス許可によって禁止されている方法でソケットにアクセスしようとしました」エラーの解決方法

一部のユーザーから、ネットワーク接続を修復するためにコマンドプロンプトでipconfig /renewコマンドを実行した際に、「アクセス許可によって禁止されている方法でソケットにアクセスしようとしました(An attempt was made to access a socket in a way forbidden by its access permissions)」というエラーが表示されるという報告が寄せられています。また、Apacheサーバーの起動時にこの問題が発生するケースもあります。ほぼすべての影響を受けたユーザーが、Windowsの自動アップデートをインストールした後にこの問題が発生し始めたと報告している点が共通しています。

エラーの原因は何か?

私たちはこの問題について、多数のユーザーレポートと、実際に問題を解決できた修復手順を調査しました。その結果、以下のような複数のシナリオがこのエラーを引き起こすことが判明しています。

  • VPNクライアントがローカルホスト接続をブロックしている – 複数のユーザーが、原因は使用していたVPNクライアントであることを突き止めています。VPNクライアントを無効化することで、多くの場合この問題は解決します。
  • サードパーティ製ファイアウォールが接続をブロックしている – 外部ファイアウォールを使用している場合、SMTP接続をブロックしている可能性があります。特にMcAfeeやAvastが原因として確認されることが多いようです。
  • アプリケーションが既に使用中のポートを開こうとしている – このエラーの最も一般的な原因の一つは、別のサービスやアプリケーションによって既に開かれ使用されているポートを、アプリケーションが開こうとした場合です。
  • Windows 10のセキュリティ機能 – Windows 10以降、Microsoftはランダムなポートを取得して任意のサービスに割り当てることを防止する新しいセキュリティ機能を実装しました。スクリプトや自作アプリケーションを使用している場合にこれが発生することがあります。
  • 別のプロセスが目的のポートで待ち受け中 – Apache Webサーバーを起動しようとしたときや、Hostgator上のSQL Serverにリモートアクセスしようとした際などに、こうした競合は頻繁に発生することで知られています。

現在この問題の解決にお困りの場合は、同じ状況にある他のユーザーが実際に問題を解決するために使用した検証済みの手順をご紹介します。以下の対処法を順番に試し、ご自身の環境に有効なものを見つけてください。

方法1:インターネット接続の共有を無効にする

これは少し意外な原因ですが、Windowsのインターネット接続の共有は、Netstatなどのツールには必ずしも表示されない複数のポート範囲を使用しています。

しかし、インターネット接続の共有を無効化したところ、問題が完全に解決したというユーザーからの報告が複数あります。Windowsでインターネット接続の共有を無効にするには、2つの方法があります。どちらか都合の良い方をお試しください。

コントロールパネルからインターネット接続の共有を無効にする

  1. Windowsキー + Rキーを押して「ファイル名を指定して実行」ダイアログボックスを開きます。「ncpa.cpl」と入力してEnterキーを押すと、ネットワーク接続画面が開きます。
  2. ネットワーク接続画面で、アクティブなネットワーク接続を右クリックし、「プロパティ」を選択します。
  3. ネットワークのプロパティ画面で「共有」タブを開き、「他のネットワークのユーザーに、このコンピューターのインターネット接続を介しての接続を許可する」のチェックボックスをオフにします。
  4. コンピューターを再起動し、エラーメッセージが解消されたかどうかを確認します。

インターネット接続共有(ICS)サービスを無効にする

  1. Windowsキー + Rキーを押して「ファイル名を指定して実行」ダイアログボックスを開きます。「services.msc」と入力してEnterキーを押すと、サービス画面が開きます。
  2. サービス画面の右側の一覧から「Internet Connection Sharing (ICS)」サービスを探してダブルクリックします。
  3. 「Internet Connection Sharing (ICS)」のプロパティ画面で「全般」タブを開き、「スタートアップの種類」を「無効」に変更します。
  4. コンピューターを再起動し、問題が解決したかどうかを確認します。

方法2:サードパーティ製ウイルス対策ソフトのアンインストールまたは接続の除外設定

多くのユーザーが指摘しているように、サードパーティ製セキュリティソフトウェアがSMTP接続に干渉していないか確認する必要があります。McAfee、BitDefender、Avastは、localhost接続が使用する特定のポートをブロックすることが確認されています。特定のポートに対しては、大量メール攻撃を防ぐための標準的な動作です。

一部のユーザーの報告によると、過保護なファイアウォールや類似のセキュリティフィルタリングツールが、「アクセス許可によって禁止されている方法でソケットにアクセスしようとしました」エラーの原因となることがあります。

通常、この問題は、ブロックされている接続をウイルス対策ソフトの設定で除外リスト(ホワイトリスト)に追加することで解決できます。ただし、除外ルールの設定手順は、使用しているセキュリティソフトウェアによって異なる点にご注意ください。

ブロックされている接続を特定できない場合は、サードパーティ製ウイルス対策ソフトを一時的にアンインストールし、問題が解決するかどうかを確認してみてください。

注意: ウイルス対策ソフトのリアルタイム保護を無効にしても結論は得られません。同じフィルタリングルールが引き続き適用され続けるためです。

サードパーティ製ウイルス対策ソフトをアンインストールする場合は、各ベンダーが提供する公式のアンインストールガイドに従ってください。この方法が該当しない場合や、サードパーティ製クライアントがエラーの原因ではないと判断した場合は、次の方法に進んでください。

補足: PeerBlockなどのIPブロック系クライアントが、失敗している操作に関わるIPアドレスを自動的にブロックしている可能性もあります。例外ルールを作成するか、IPブロックソフトウェアをアンインストールした後に問題が自動的に解決したという報告が複数あります。

方法3:Windowsファイアウォールに例外を追加する

実は、Windowsに内蔵されているファイアウォールも、「アクセス許可によって禁止されている方法でソケットにアクセスしようとしました」エラーの原因となることがあります。

影響を受けた複数のユーザーが、エラーを表示しているプログラムにWindowsファイアウォール経由の通信を許可することで問題を解決できたと報告しています。この方法はSQL Serverでエラーが発生しているユーザーに特に有効ですが、以下の手順は他のプログラムにも応用できます。

手順は以下の通りです。

  1. Windowsキー + Rキーを押して「ファイル名を指定して実行」ダイアログボックスを開きます。「firewall.cpl」と入力してEnterキーを押すと、Windows Defender ファイアウォールが開きます。
  2. Windows Defender ファイアウォール画面で、「Windows Defender ファイアウォール経由のアプリまたは機能を許可」をクリックします。
  3. 「許可されたアプリ」画面で、「設定の変更」ボタンをクリックします。
  4. 許可されたアプリと機能の一覧から、エラーを引き起こしているアプリを探します。見つかったら、該当するアプリの「プライベート」と「パブリック」の両方のチェックボックスがオンになっていることを確認します。
    注意: 「許可されたアプリと機能」の一覧に該当プログラムが見つからない場合は、「別のアプリの許可」ボタンをクリックし、「参照」から手動で選択してください。
  5. 変更を加えたらコンピューターを再起動し、次回起動時に「アクセス許可によって禁止されている方法でソケットにアクセスしようとしました」エラーが解消されているかどうかを確認します。

それでも同じエラーが表示される場合は、次の方法に進んでください。

方法4:インターネット インフォメーション サービス(IIS)を再起動する

複数のユーザーから、管理者権限のコマンドプロンプトウィンドウからインターネット インフォメーション サービス(IIS)を再起動したところ、問題が解決したという報告があります。

ただし、IISサーバーを再起動すると、FTP、SMTP、NNTPを含むすべてのインターネットサービスが一時的に停止し、接続を処理しているアプリケーションが保持していたデータは失われる点にご注意ください。

手順は以下の通りです。

  1. Windowsキー + Rキーを押して「ファイル名を指定して実行」ダイアログボックスを開きます。「cmd」と入力し、Ctrl + Shift + Enterキーを押して、管理者権限のコマンドプロンプトウィンドウを開きます。
  2. 管理者権限のコマンドプロンプトで、以下のコマンドを入力してEnterキーを押すと、IISが再起動されます。
    iisreset
  3. インターネットサービスが正常に停止・再起動されるまで待ちます。その後、エラーを引き起こしていた操作をもう一度実行し、問題が解決したかどうかを確認します。

それでも同じエラーが表示される場合は、次の方法に進んでください。

方法5:以前のシステム復元ポイントを使用する

他の修復方法がいずれも効果がなかった場合でも、システムの復元を使ってマシンの状態を以前の時点に戻すことで、ついに「アクセス許可によって禁止されている方法でソケットにアクセスしようとしました」エラーに妨げられずにインターネットへ接続できるようになったユーザーがいます。

このエラーが最近発生し始めたばかりで、問題発生前の日付のシステム復元ポイントが残っている幸运な場合は、以下の手順で問題を恒久的に解決できるかもしれません。

  1. Windowsキー + Rキーを押して「ファイル名を指定して実行」ダイアログボックスを開きます。「rstrui」と入力してEnterキーを押すと、システムの復元ウィザードが開きます。
  2. システムの復元の最初の画面で、「別の復元ポイントを選択する」を選択し、「次へ」をクリックします。
  3. 次の画面で、まず「より多くの復元ポイントを表示する」チェックボックスをオンにします。その後、問題が発生する前の日付のシステム復元ポイントを選択し、再度「次へ」ボタンをクリックします。
  4. 完了」をクリックすると、Windowsは自動的に再起動し、次回起動時に古い状態が復元されます。コンピューターが起動したら、問題が解決したかどうかを確認してください。

方法6:VPNネットワークから切断する

影響を受けた一部のユーザーは、自分の場合の原因がVPNクライアントであることを突き止めました。実は「アクセス許可によって禁止されている方法でソケットにアクセスしようとしました」エラーは、関連するlocalhost接続の失敗を引き起こすVPNクライアントによっても発生することがあります。

ご自身の環境でこの説が当てはまるかどうかを確認するには、単純にVPNネットワークから切断し、問題が解決するかどうかを確認してください。VPNを切断している間にエラーメッセージが表示されなくなった場合は、別のVPNクライアントへの乗り換えを検討するか、エラーを引き起こす作業を行う間は少なくともVPNを無効にしておく必要があります。

  1. Google Chromeで「接続が中断されました」エラーが出たときの対処法6選

    Google Chromeは、シンプルでミニマルなインターフェースと軽快なブラウジング速度を兼ね備えた、世界で最も人気のあるWebブラウザの一つです。世界中の何百万人ものユーザーに利用されており、安全なブラウジング体験に加えて、便利な拡張機能や豊富なカスタマイズ性が魅力です。 Chromeでブラウジング中に「接続が中断されました(Your connection was interrupted)」というエラーが表示されたことはありませんか?このエラーには「ネットワークの変更が検出されました(A network change was detected)」というメッセージが伴うことが多く、原因が分か

  2. 【解決済み】Windows 10のブルースクリーンエラー「ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY(0x000000FC)」の直し方

    ブルースクリーンオブデス(BSOD)エラーは、Windows 10で遭遇しうる最も深刻なPCトラブルの一つです。ストップコードが表示されるとシステムが何度も再起動を繰り返し、大きな被害につながる可能性があります。そのため、「ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY」というエラーコードは、できるだけ早く修正することが重要です。この記事では、このWindows 10エラーが発生する原因と、最も効果的な解決策をご紹介します。 「非実行メモリの実行が試行されました」エラーの主な原因 問題のあるドライバーの実行 破損したシステムファイル マルウェアやウイルス感染 故障