遅くなったらほぼ DNS が原因。DNS でなければネットワーク。いや、ファイアウォールじゃないの? 経理部のクリスは「コンピューターに詳しい」彼の甥から、間違いなくマルウェアが原因だと言われたらしいよ。ネットワーク パフォーマンスに関するトラブルシューティングの議論はいつもこんな調子です。みんなが専門家気取りで、システム管理者のあなたは愛想笑いを浮かべるしかありません。

システム管理者として最初に学ぶことの 1 つがネットワーク トラフィックの監視であることには理由があります。インフラストラクチャのプロビジョニングや他のネットワークから切り離されている (エアギャップ) 環境へのシステム構築といった作業の後になりますが、ネットワーク パフォーマンスの監視が重要なのは、伝聞による技術的な直感や素人判断に頼るのではなく、何が問題なのか (または問題でないのか) を実際に証明できる能力を与えてくれるからです。
次に誰かから「今日は本当に動作が遅いんです」と言われたときに、Windows に表示されたエラー メッセージを正確に再現できる可能性は低いでしょう。おそらくそのときに聞くのは、冒頭のような推測や、「X アプリの起動に時間がかかる」、「Teams の動作がおかしい」、「とにかく動作が遅い」といった漠然とした苦情でしょう。あなたの仕事は、アプリケーションの設定ミスで帯域幅をすべて消費しているのか、セキュリティ スキャンが実行されているのか、誰かが P2P ファイル共有を使用しているのか、経理部のクリスが一日中暗号通貨のマイニングを行っているのかなど、問題の原因を特定するために必要なデータを収集することです。トラブルシューティングを行うにはネットワーク アクティビティを可視化する必要があり、ネットワーク トラフィックを確認する方法を知っている必要があります。
このガイドでは、ネットワーク トラフィックの監視の基本を説明した後、適切な監視方法を詳しく説明します。まずシンプルなアプローチと Wireshark (お勧めです) のようなツールから始めた後、帯域幅の使用量、送信元、その他の診断データなど、実際の問題解決に役立つ詳細な情報を提供する PRTG センサーへ進んでいきます。
ネットワーク トラフィックの監視
ネットワーク トラフィックの測定: 基本
まず、「ネットワーク トラフィックの監視」とは何を意味するのかを説明します。最も基本的なレベルでは、ネットワーク トラフィックの監視とは、ネットワーク上を流れるデータ パケットをキャプチャして検査することです。この処理は、異なる方法で、さまざまな詳細レベルで実施できます。帯域幅を大量に消費しているユーザーの特定、特定のネットワーク インターフェイスを介して流れているデータ量 (ギガバイト単位) の確認、最も多くのネットワーク接続を使用しているアプリケーションの把握には、トラフィック データが非常に役立ちます。
ネットワーク トラフィックのデータにはさまざまな種類があり、それぞれ異なる状況で役立ちます。NetFlow、sFlow、IPFIX などのフローベースのプロトコルは、IP アドレス、ポート、プロトコル (TCP、UDP、ICMP など) 間のトラフィック フロー、つまり「通信」に関するメタデータを収集します。フロー データから、どの IP アドレス間で通信が行われているか、そしてそれぞれの通信がどの程度の帯域幅を使用しているかなどの概要を把握できます。一方、パケット スニッフィングや分析ツールは、ネットワーク アダプターを通過する実際のデータ パケットをキャプチャします。通常、帯域幅分析やトラフィック パターンの可視化にはフロー データを使用し、特定のプロトコルの動作のトラブルシューティングや潜在的なセキュリティの脅威の調査にはパケット キャプチャを使用します。
ネットワーク トラフィックの確認: 3 つの主なアプローチ
ネットワーク トラフィックをなぜ確認する必要があるのかが分かったら、どのように確認するかを見ていきましょう。コマンドラインのような基本的なツールを使用した簡単な確認から、スニファーを使用した詳細なパケット解析まで、ネットワーク トラフィックの監視には、いくつかの方法があります。ここでは、3 つの主なアプローチを紹介します。
SNMP トラフィック監視
SNMP は Simple Network Management Protocol の略で、ルーター、スイッチ、ファイアウォールなど、ネットワーク上の多くの管理デバイスから情報を取得するために使用できます。SNMP クエリを使用すると、デバイスをポーリングしてインターフェイスの統計やデバイスの状態の情報を取得できます。ネットワーク トラフィックの監視における SNMP の主な用途は、SNMP クエリが実行された時点の (データが記録されている場合はより長期間の) ネットワーク使用率を把握することです。
SNMP トラフィック監視の大きな利点の 1 つは、(たとえば WMI などよりも) 非常に軽量であることです。また、SNMP は広く普及しており、ほとんどのネットワーク機器がサポートしています。主な欠点は、送信されているアプリケーション レベルのデータについて何も分からないことです。数は取得できますが、内容は分からないため、全体像を把握するには最適ですが、より詳細なトラフィック情報が必要な場合は別の方法を検討する必要があるでしょう。
フローベースのトラフィック監視
フロー データは SNMP を補完するもので、ネットワーク インターフェイスを流れるトラフィックの量だけでなく、ネットワーク上の通信に関する詳細な情報を提供します。送信元と宛先の IP アドレス、送信元と宛先のポート番号、使用しているアプリケーション/プロトコル (TCP、UDP、ICMP)、各フローで送信されたデータの量などが含まれます。NetFlow、sFlow、IPFIX はすべてフロー データの種類です。ネットワーク エンジニアは、これらのフロー データを使用して、ルーター、ファイアウォール、コア スイッチ全体のネットワーク アクティビティを監視してトラブルシューティングを行います。フロー分析を行うことにより、パフォーマンス問題の根本的な原因を特定し、最も帯域幅を消費しているアプリケーションを把握し、不審な IP アドレスへの異常な TCP 接続を検出して、ネットワーク全体の可視性を向上できます。
フロー データは SNMP データよりも処理に時間がかかり、データ量も多いため、PRTG コア サーバーの負荷は高くなりますが、ネットワーク リソースを消費しているものやネットワーク トラフィックを生成しているものについて、より詳細な情報を得ることができます。PRTG のフロー センサーは、ネットワーク デバイスからフロー データを取り込み、ネットワーク プロトコル、送信元/宛先の IP アドレス、フローごとのデータ使用量、その他ネットワーク デバイスが使用するフィールドに基づいてトラフィックを分析します。では、シャーロック・ホームズのように、さらに詳細な情報を取得したい場合はどうすればよいでしょうか? その場合は、次のアプローチを検討してください。
パケット スニッフィング
パケット スニッフィングと分析とは、ネットワーク アダプターを介して送信される実際のデータ パケットをキャプチャし、パケット内のデータを分析することです。ネットワーク エンジニアは、パケット スニファーを使用して、特定のネットワーク問題の詳細な診断やトラブルシューティングから、一般的な監視やセキュリティ監視まで、幅広いタスクを実行します。
Wireshark (本当にお勧めです – このツールは、私の記憶にある限りでも数え切れないほどのネットワーク関連のトラブルシューティングに役立ってきました) は、コマンドライン パケット分析ツールの事実上のオープンソース標準であり、Linux プラットフォームと Microsoft Windows プラットフォームで無料で利用できます。Paessler PRTG Network Monitor には、フローとパケット スニファー向けのセンサー オプションもあります。Packet Sniffer センサーは PRTG のネイティブ パケット キャプチャ ソリューションで、ネットワーク パケットと TCP 接続を調査するためのウィジェットベースの可視化を備えた、より分かりやすくユーザーフレンドリーなインターフェイスを提供します。
パケット スニッフィングはリソースを大量に消費するため、通常は特定のトラブルシューティング シナリオでのみ使用します。パケット キャプチャは、問題に関連するポートや IP アドレスに限定することが重要です。パケットの検査には (SNMP やフロー センサーよりもはるかに) 大きな負荷がかかるため、パケット スニッフィングは一般に低帯域幅 (50M ビット/秒未満) の接続および孤立したプローブ デバイスや SPAN ポートでのデプロイメントに限定されます。しかし、ネットワーク プロトコルをパケット レベルで詳細に分析する必要がある場合は、パケット スニッフィングが最適なオプションになります。
ネットワーク トラフィックのリアルタイム監視: PRTG でのトラフィックの監視
上記で説明した、ネットワーク トラフィックを監視する 3 つの手法とツールは、アクティビティをスポットで確認したい場合は非常に有効です。しかし、問題が発生していると思われるときだけでなく、常にアクティビティの可視化が必要な場合はどうすればよいでしょうか? その場合は、リアルタイム ネットワーク監視ソリューションのセンサーを使用します。PRTG には、上記で説明した方法を使用してネットワーク トラフィックを監視できる、さまざまな種類のセンサーが用意されています。
PRTG でゼロからネットワーク トラフィックの監視を始める場合は、以下の実践的な手順を参考にしてください。
1. 最も重要なリンクをリストします。まず最初に測定すべき対象は、最も重要なネットワーク リンク (インターネット接続、主要なネットワーク セグメント間のリンク、イーサネット アップリンク、Wi-Fi コントローラー、スイッチ、既知のボトルネック) です。これらは、ネットワーク使用状況の監視において最優先で監視すべき対象です。
2. SNMP Traffic センサーを使用してネットワークを可視化します。優先度の高いネットワーク インターフェイスに SNMP Traffic センサーを追加します。ルーター、ファイアウォール、スイッチに SNMP を設定し、適切な認証情報 (特殊文字を含まないコミュニティ文字列または SNMPv3) を PRTG に追加します。SNMP センサーは SNMP プロトコルを介してターゲット デバイスに接続し、SNMP インターフェイス カウンターを取得して、監視しているネットワーク ポートで送信されたビット数やパケット数をレポートおよびグラフで表示します。
3. アプリケーションの可視化のために、フロー センサーを追加します。次に、メインのルーターやファイアウォールに、NetFlow、sFlow、jFlow、または IPFIX センサーを追加します。センサーを追加することにより、アプリケーションの状況が可視化され、帯域幅を消費している上位のアプリケーション、ネットワーク プロトコル (TCP、UDP、ICMP)、フローを確認できます。フローベースの監視は、ネットワーク上で最も帯域幅を消費しているユーザーを特定したり (クリス、君のことだよ!)、予期しない、または不審なネットワーク接続を追跡したり、セキュリティの問題を事前に発見したりするのに役立ちます。PRTG は不審なトラフィック パターンが発生した場合に自動的に通知するように設定できるため、多くの時間を節約し、ネットワーク障害によるストレスを軽減できます。
4. 観察してベースラインを設定します。本格的な分析を行う前に、通常の状態 (ベースライン) を把握するため、少なくとも 1 週間、センサーでデータを収集します。次に、時間帯ごとの帯域幅使用率グラフを参照して、ピークの時間帯を特定します。
5. 実用的なアラートを設定します。確立したベースラインに基づいて、たとえば、インターネット接続の使用率が 80% を超えた場合や特定のネットワーク接続が急激に増加した場合にアラートを出力するように、重要なネットワーク リンクのしきい値を設定します。PRTG は、アクションを自動化したり、メール、プッシュ通知でアラートを送信したり、スクリプトを実行したりして、自動的に対応することができます。
6. トラブルシューティングのためにパケット スニッフィングを検討します。PRTG の Packet Sniffer センサーは、ネットワーク トラフィックを最も詳細に検査できます。パケット スニッフィングはフロー データとは異なり、個々のパケット ヘッダーをキャプチャして検査したり、パケット レベルで TCP 接続を表示することができます。PRTG の SNMP センサーと Packet Sniffer センサーの主な違いは、SNMP センサーはデバイスにクエリを送ってデータを収集するのに対し、Packet Sniffer センサーはプローブ デバイスのネットワーク カードでトラフィックを直接監視する点です。パケット スニッフィングは、SNMP やフローベースの監視よりもシステムへの影響がはるかに大きいため、通常は低帯域幅接続 (50M ビット/秒未満) でのトラブルシューティングや専用の監視プローブでのみ使用されます。しかし、すべてのパケットを確認して低レベルのプロトコル問題をトラブルシューティングする必要がある場合は、パケット スニッフィングが最適なアプローチです。
7. Wireshark をダウンロードして使い方を学びます。Wireshark について述べるのはこれで最後にします!
最後に
ネットワーク トラフィックの監視と確認は、推測で行うものではありません。ネットワーク トラフィックを監視する方法を理解し、適切なツールが用意できれば、ネットワーク問題を場当たり的に対応するのではなく、ネットワーク パフォーマンス問題の根本的な原因を – 経理部のクリスが「重要な業務アプリケーション」を実行しているのではなく、机の下に隠しているマシンで暗号通貨のマイニングを行っていることも – 突き止めて解決することができます。
監視に興味が沸いたら、PRTG Network Monitor の無料トライアル版をダウンロードして試してみてください。
この記事は、Paessler の Blog で公開されている「Monitoring Basics: How to Check Network Traffic」の日本語参考訳です。


