社内LANからインターネットにつながらない、社内にあるファイルサーバーの応答が遅い──。こうしたネットワークトラブルの解決に有効なのが「パケットキャプチャー」だ。パケットキャプチャーとは、文字通りLANを流れるパケットを取得すること。取得したパケットを調べれば、ネットワークの状態を把握できる。

 LANを流れるパケットには、データ以外に様々な情報が付随している。例えば通信に必要な宛先のIPアドレスや送信元のIPアドレス、やりとりしている通信プロトコルの種類などだ。

 これらはデータ本体とは別の「ヘッダー」と呼ぶ場所に格納されている。パケットを取得してこれらの情報を見れば、異常なパケットを送信しているネットワーク機器を特定したり、あるネットワーク機器が送信するパケット量の変化を調べたりできる。

パケットを直接見て分かること
パケットを直接見て分かること
[画像のクリックで拡大表示]

 このためパケットキャプチャーはネットワーク管理者にとって覚えておきたい知識だ。パケットキャプチャーというと、パケットキャプチャーソフトの「Wireshark」をイメージする読者が多いだろう。しかし今やWindows標準ツールで、パケットを取得できる。

Windowsに標準搭載

 Windows 10には「Pktmon」というネットワーク診断ツールが用意されている。Packet Monitorの略だ。Pktmonにはパケットを取得したり、記録したパケットをテキスト形式に変更したりするコマンドが用意されている。

 Pktmonを使うと、そのパソコンがやりとりするパケットを取得できる。特別なネットワーク機器やソフトウエアを導入する必要はない。Windows 10パソコンまたはWindows Server 2019/2022が動くサーバーがあれば実行できる。

パソコンがやりとりするパケットを取得
パソコンがやりとりするパケットを取得
[画像のクリックで拡大表示]

 これらのOSではコマンド実行環境としてPowerShellを使える。PowerShellには「リモーティング」と呼ぶ機能がある。これを使うと遠隔地にあるパソコンやサーバーにPktmonのコマンドを実行させることができる。サーバーへの不審なアクセスがないかなどを定期的にチェックするには便利な機能だ。

 一方、Pktmonではネットワークを流れるすべてのパケットは把握できない。そのためにはネットワークを分岐して、「プロミスキャスモード」で動くパケットキャプチャーソフトをインストールしたパソコンにつなぐ必要がある。

 Wiresharkや「Microsoft Network Monitor」といったパケットキャプチャーソフトは、プロミスキャスモードに対応している。またパケットを取得するパソコンのNICがプロミスキャスモードに対応している必要もある。

 ネットワークを分岐させるには、フラッディングモード対応のレイヤー2(L2)スイッチを使う。フラッディングモードを有効にすると、受信したパケットをすべてのポートから送信する。このためそのL2スイッチを通るすべてのパケットを任意のポートで取得できるようになる。

 ただしフラッディングモードではポートの数だけパケットが増幅されることになるのでネットワークに負荷がかかる。このため特定のポートを通過したトラフィックだけを監視したい場合には、ミラーポートを搭載したスイッチを利用する。

 ミラーポートは、特定のポートが送受信するパケットをそのままコピー(ミラーリング)して別のポートに流す機能である。L2スイッチを通るすべてのトラフィックは監視できないが、ネットワークの負荷はフラッティングモードに比べて抑えられる。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。