ネットワークの問題を診断したい場合やセキュリティ分析を行いたい場合、WindowsでのパケットキャプチャはWiresharkやnetshコマンドを使って実施することができます。
本記事では、Windowsでパケットキャプチャを行う複数の方法・手順・設定について詳しく解説していきます。
初心者から上級者まで参考になる内容をお届けします。
Windowsでパケットキャプチャを行う主な方法
それではまず、Windowsでパケットキャプチャを行う主な方法について解説していきます。
Windowsでのパケットキャプチャには複数の方法があり、それぞれ手軽さ・機能・用途が異なります。
Windowsでのパケットキャプチャの主な方法:
①Wireshark:GUIで最も使いやすく機能が豊富(推奨)
②netshコマンド:追加インストール不要・管理者権限で実行可能
③Microsoft Network Monitor:Microsoftが提供する無料ツール
④パフォーマンスモニター:ネットワーク統計の確認(詳細キャプチャではない)
Wiresharkを使ったWindowsでのキャプチャ手順
Windowsで最も推奨されるパケットキャプチャ方法がWiresharkを使った方法です。
Wiresharkの公式サイト(wireshark.org)からWindows用インストーラーをダウンロードしてインストールします。
インストール時にWinpcap(またはNpcap)という必要なドライバも自動的にインストールされます。
Wiresharkを管理者として起動し、キャプチャしたいネットワークインターフェース(イーサネットまたはWi-Fi)を選択して開始ボタンをクリックすることでキャプチャが始まるでしょう。
netshコマンドを使ったパケットキャプチャ
Wiresharkをインストールせずに追加ツールなしでパケットキャプチャを行うには、Windowsに標準搭載されている「netsh trace」コマンドが活用できます。
netshコマンドでのパケットキャプチャ手順:
①管理者権限でコマンドプロンプトを起動する
②キャプチャ開始コマンドを実行する:
netsh trace start capture=yes tracefile=C:\capture.etl
③問題を再現する・対象の通信を行う
④キャプチャ停止コマンドを実行する:
netsh trace stop
⑤生成された.etlファイルをMicrosoft Network Monitorで開いて解析する
netshキャプチャのフィルタリングオプション
netshコマンドではキャプチャするパケットの範囲を絞り込むためのフィルタリングオプションが利用できます。
特定のIPアドレスの通信のみキャプチャするには「ipv4.address=192.168.1.100」を追加し、特定のイーサネットインターフェースを指定するには「interfacename=”イーサネット”」を追加します。
フィルタリングを活用することで不要なパケットの記録を減らし、目的のトラフィックのみを効率的にキャプチャできるでしょう。
Wiresharkを使ったWindowsでの実践的なキャプチャ手順
続いては、Wiresharkを使ったWindowsでの実践的なキャプチャ手順を確認していきます。
Wiresharkを使った具体的なキャプチャと基本的な解析の手順を説明します。
キャプチャの開始と停止
Wiresharkでのキャプチャの基本操作は非常に直感的です。
Wiresharkを起動すると「Capture」画面が表示され、利用可能なネットワークインターフェース(イーサネット・Wi-Fi・ループバック等)の一覧と、そのインターフェースのトラフィック量がライブで表示されます。
キャプチャしたいインターフェースをダブルクリックすると即座にキャプチャが開始されます。
キャプチャを停止するには画面上部の赤い四角の停止ボタンをクリックします。
取得したキャプチャデータはFile→Save Asからpcapファイルとして保存できるでしょう。
キャプチャフィルターの設定
大量のトラフィックが流れる環境では、キャプチャ前にキャプチャフィルター(Capture Filter)を設定して必要なパケットだけを取得することが推奨されます。
Wiresharkの「Capture」→「Options」→「Capture Filter」欄にフィルター条件を入力します。
「host 192.168.1.100」で特定IPのみ、「port 80」でポート80のみ、「tcp」でTCPのみキャプチャするといった指定が可能です。
キャプチャフィルターは表示フィルターとは別物であり、記録するパケット自体を絞り込むため、ファイルサイズの削減と後の解析効率向上に役立つでしょう。
Windows環境でのキャプチャの注意点
Windowsでパケットキャプチャを行う際には以下の点に注意が必要です。
WiresharkはNpcap(またはWinPcap)ドライバが必要であり、インストール時に必ずドライバもインストールすることが重要です。
管理者権限なしでは一部の機能が制限されるため、Wiresharkを管理者として実行することを推奨します。
VPN接続中はVPN用の仮想インターフェースも表示されるため、実際にキャプチャしたいインターフェースを正確に選択することが必要でしょう。
Windowsでのパケットキャプチャデータの活用方法
続いては、Windowsでのパケットキャプチャデータの活用方法を確認していきます。
取得したキャプチャデータを実際の問題解決に活用するための方法を説明します。
特定の通信問題の診断
Windowsでキャプチャしたパケットを使って特定の通信問題を診断する際は、Wiresharkの「Analyze」→「Expert Information」機能が非常に役立ちます。
この機能を使うとTCPの再送・接続エラー・プロトコルの警告などの問題を自動的に分類して一覧表示してくれるため、大量のパケットの中から問題のある箇所を素早く特定できます。
赤色で表示されるエラー・黄色で表示される警告を優先的に確認することが効率的な問題診断のアプローチでしょう。
キャプチャデータの共有と引き継ぎ
トラブルシューティングをベンダーサポートや他のチームメンバーと協力して行う場合、pcapファイルとして保存したキャプチャデータを共有することで、同じパケットデータを元に共同で解析作業を進められます。
機密情報や個人情報が含まれる可能性があるため、共有前に内容を確認し必要に応じてトレースファイルをフィルタリングして関係するパケットのみを抽出してから共有することが推奨されます。
WiresharkのFile→Export Specified Packetsでフィルタリングされたパケットのみを別ファイルとして出力できるでしょう。
定期的なキャプチャによる基準値の把握
ネットワークの問題が起きてから初めてキャプチャするのではなく、平常時のキャプチャデータを定期的に取得して基準値(ベースライン)を把握しておくことが予防的なネットワーク管理に役立ちます。
平常時のパケットパターンと問題発生時のパターンを比較することで、異常をより明確に特定できるようになります。
スケジュールタスクとnetshコマンドを組み合わせることで、Windowsサーバー上での定期的な自動キャプチャを実現することも可能でしょう。
まとめ
本記事では、Windowsでパケットキャプチャを行う方法・手順・設定について詳しく解説しました。
Wiresharkは最も機能豊富なGUIツールであり、Windows環境でのパケットキャプチャと解析に最も推奨される選択肢です。
追加インストール不要のnetshコマンドもサーバー環境や手軽なキャプチャに有効であり、用途に応じて使い分けることが実践的なアプローチでしょう。
パケットキャプチャの実施方法をWindowsで習得することが、ネットワークトラブルシューティングスキルの向上の基盤となります。