この記事では、SMB 接続中に伝送制御プロトコル (TCP) の 3 方向ハンドシェイクエラーのトラブルシューティングを行う方法について説明します。
ネットワーク トレースを分析すると、SMB の問題が発生する原因となる TCP 3 方向ハンドシェイクエラーが発生していることがわかります。
一般的には、トラフィックを禁止するローカルまたはインフラストラクチャのファイアウォールが原因です。 この問題は、次のいずれかのシナリオで発生する可能性があります。
TCP SYN パケットは SMB サーバーに到着しますが、SMB サーバーは TCP SYN-ACK パケットを返しません
このシナリオをトラブルシューティングするには、次の手順に従います。
netstat
またはGet-NetTcpConnection
を実行して、SYSTEM プロセスが所有する必要がある TCP ポート 445 にリスナーがあることを確認します。netstat -ano | findstr :445
Get-NetTcpConnection -LocalPort 445
サーバー サービスが開始され、実行されていることを確認します。
Windows Filtering Platform (WFP) キャプチャを使用して、どのルールまたはプログラムがトラフィックを減少させているかを判断します。 これを行うには、コマンド プロンプト ウィンドウで次のコマンドを実行します。
netsh wfp capture start
問題を再現してから、次のコマンドを実行します。
netsh wfp capture stop
シナリオ トレースを実行し、SMB トラフィック (TCP ポート 445) で WFP で減少されていないかどうかを確認します。
必要に応じて、ウイルス対策プログラムは必ずしも WFP ベースとは限らないため、削除できます。
Windows ファイアウォールが有効になっている場合は、ファイアウォールのログ記録を有効にして、トラフィックが減少するかどうかを判断します。
[セキュリティが強化された Windows ファイアウォール]>[受信の規則]で適切な [ファイルとプリンターの共有(SMB-In)] ルールが有効になっていることを確認してください。
Note
コンピューターがどのようにセットアップされているかによって、「Windows ファイアウォール」は「Windows Defender」と呼ばれることもあります。
TCP SYN パケットが SMB サーバーに到着することはありません
このシナリオでは、ネットワーク パスに従ってデバイスを調査する必要があります。 各デバイスでキャプチャされたネットワーク トレースを分析することで、どのデバイスがトラフィックを禁止しているかを判断することができます。