パケットキャプチャを使用してネットワークトラフィックを分析する
パケットキャプチャの概要
パケットキャプチャは、ネットワークトラフィックの分析とネットワークの問題のトラブルシューティングに役立つツールです。パケットキャプチャツールは、監視とロギングのためにネットワークを介して伝送されるリアルタイムデータパケットをキャプチャします。
パケットキャプチャは、gr、ip、lsq-/lsなどの物理インターフェイス、rethインターフェイス、およびトンネルインターフェイスでサポートされます。ただし、パケットキャプチャは、セキュアトンネルインターフェイス(st0)ではサポートされていません。
パケットは、変更なしにバイナリデータとしてキャプチャされます。Wiresharkやtcpdumpなどのパケットアナライザで、パケット情報をオフラインで読み取ることができます。ルーティングエンジン宛てのパケットとルーティングエンジンから発信されるパケットを迅速にキャプチャして、オンラインで分析する必要がある場合、J-Webパケットキャプチャ診断ツールを使用できます。
J-Web設定エディターまたはCLI設定エディターのいずれかを使用して、パケットキャプチャを設定できます。
パケットキャプチャツールは、IPv4とIPv6の両方のトラフィックを監視および分析するための包括的なサポートを提供します。
ネットワーク管理者とセキュリティエンジニアは、パケットキャプチャを使用して、以下のタスクを実行します。
-
ネットワークトラフィックを監視して、トラフィックパターンを分析します。
-
ネットワークの問題を特定してトラブルシューティングします。
-
不正な侵入、スパイウェアアクティビティ、pingスキャンなど、ネットワーク内のセキュリティ侵害を検出します。
パパケットキャプチャは、レイヤー2ヘッダーを含むパケット全体をキャプチャし、libpcap形式でファイルに保存する点を除き、デバイス上でトラフィックサンプリングと同様に機能します。パケットキャプチャは、IPフラグメントもキャプチャします。
同時にデバイス上のパケットキャプチャとトラフィックサンプリングを有効にすることはできません。トラフィックサンプリングとは異なり、パケットキャプチャのトレース操作はありません。
デバイス上で、パケットキャプチャとポートミラーリングを有効にできます。
このセクションでは、以下のトピックについて説明します。
デバイスインターフェイス上のパケットキャプチャ
パケットキャプチャは、T1、T3、E1、E3、シリアル、ギガビットイーサネット、ADSL、G.SHDSL、PPPoE、ISDNインターフェイスでサポートされています。
ISDNインターフェイス上のパケットをキャプチャするには、ダイラーインターフェイス上でパケットキャプチャを設定します。PPPoEインターフェイス上のパケットをキャプチャするには、PPPoE論理インターフェイス上のパケットキャプチャを設定します。
パケットキャプチャは、PPP、Cisco HDLC、フレームリレー、その他のATMカプセル化をサポートします。パケットキャプチャは、MLPPP(マルチリンクPPP)、MLFR(マルチリンクフレームリレーエンドツーエンド)、MFR UNI/NNI(マルチリンクフレームリレー)カプセル化もサポートします。
インバウンドまたはアウトバウンド方向のインターフェイスを流れるすべてのIPv4およびIPv6パケットをキャプチャできます。ただし、アウトバウンド方向のインターフェイス上にファイアウォールフィルターを設定および適用していない限り、フローソフトウェアモジュールをバイパスするトラフィック(ARP、OSPF、PIMなどのプロトコルパケット)では、ルーティングエンジンが生成するパケットはキャプチャされません。
トンネルインターフェイスは、アウトバウンド方向のパケットキャプチャのみサポートできます。
J-Web設定エディターまたはCLI設定エディターを使用して、最大パケットサイズ、キャプチャされたパケットを保存に使用するファイルサイズ、最大ファイルサイズ、最大パケットキャプチャファイル数、ファイル権限を指定します。
アウトバウンド(egress)方向のT1、T3、E1、E3、シリアル、ISDNインターフェイスでキャプチャされたパケットの場合、キャプチャされたパケットのサイズは、PLP(パケット損失の優先度)ビットのため、設定されたパケットサイズよりも1バイト小さくなる場合があります。
パケットキャプチャを設定したインターフェイスでカプセル化を変更するには、パケットキャプチャを無効にする必要があります。
パケットキャプチャ用のファイアウォールフィルター
デバイス上のパケットキャプチャを有効にすると、パケットキャプチャ設定で指定された方向に流れるすべてのパケット(インバウンド、アウトバウンド、またはその両方)がキャプチャされ、保存されます。すべてのパケットをキャプチャするようにインターフェイスを設定すると、デバイスのパフォーマンスが低下する可能性があります。ファイアウォールフィルターがあるインターフェイスでキャプチャされるパケットの数を制御し、特定のトラフィックフローのパケットをキャプチャするさまざまな基準を指定できます。
インターフェイスサンプリングはホストデバイスから発信されるパケットをキャプチャしないため、ホストデバイスから生成されるパケットをキャプチャする必要がある場合、インターフェイス上の適切なファイアウォールフィルターを設定および適用する必要があります。
パケットキャプチャファイル
インターフェイス上のパケットキャプチャが有効になっている場合、レイヤー2ヘッダーを含むパケット全体がキャプチャされ、ファイルに保存されます。キャプチャされるパケットの最大サイズを、最大1500バイトに指定できます。パケットキャプチャは、物理インターフェイスごとに1つのファイルを作成します。
ファイルの作成と保存は、以下の方法で行われます。パケットキャプチャファイルの名前をpcap-fileにした場合を仮定します。パケットキャプチャは、複数のファイル(物理インターフェイスごと)を作成して、各ファイル名の末尾に物理インターフェイスの名前を追加します。例えば、pcap-file.fe-0.0.1ギガビットイーサネットインターフェイスの場合はfe-0.0.1とします。pcap-file.fe-0.0.1という名前のファイルが最大サイズに達すると、ファイルの名前がpcap-file.fe-0.0.1.0に変更されます。pcap-file.fe-0.0.1という名前のファイルが再び最大サイズに達すると、pcap-file.fe-0.0.1.0というファイル名はpcap-file.fe-0.0.1.1に変更され、pcap-file.fe-0.0.1というファイル名はpcap-file.fe-0.0.1.0に変更されます。このプロセスは、最大ファイル数を超え、最も古いファイルが上書きされるまで続きます。pcap-file.fe-0.0.1ファイルは、常に最新のファイルです。
インターフェイス上のパケットキャプチャを無効にした後でも、パケットキャプチャファイルは削除されません。
パケットキャプチャファイルの分析
パケットキャプチャファイルは、/var/tmpディレクトリ内のlibpcap形式で保存されます。ファイルに、ユーザーまたは管理者権限を指定できます。
パケットキャプチャファイルを開いて、tcpdump、またはlibpcap形式を認識するパケットアナライザによってオフラインで分析できます。また、FTPまたはSCP(Session Control Protocol)を使用して、外部デバイスにパケットキャプチャファイルを転送できます。
分析用にファイルを開いたり、FTPまたはSCPで外部デバイスにファイルを転送したりする前に、パケットキャプチャを無効にします。パケットキャプチャを無効にすると、内部ファイルバッファがフラッシュされ、キャプチャされたすべてのパケットがファイルに書き込まれます。
運用モードからのパケットキャプチャ
データ・パス・デバッグまたはエンドツーエンド・デバッグは、パケット・プロセス・パスに沿って複数の処理装置でトレースとデバッグを提供します。パケット キャプチャは、データ パス デバッグ機能の 1 つです。設定をコミットすることなく、本番システムへの影響を最小限に抑えながら、運用モードからパケットキャプチャを実行できます。
フィルターを使用してパケットをキャプチャし、キャプチャするパケットを定義できます。パケット フィルターは、論理インターフェイス、プロトコル、送信元 IP アドレス プレフィックス、送信元ポート、宛先 IP アドレス プレフィックス、宛先ポートに基づいてパケットを除外できます。パケット キャプチャ出力のファイル名、ファイル タイプ、ファイル サイズ、キャプチャ サイズを変更できます。フィルターを 2 つのフィルターに拡張し、フィルターの値を入れ替えることもできます。
運用モードからのパケット キャプチャは、SRX4600、SRX5400、SRX5600、および SRX5800 でサポートされています。
動作モードからパケットをキャプチャするには、次の手順を実行する必要があります。
-
動作モードからパケットフィルタを定義し、
request packet-capture startCLI コマンドを使用して要件に基づいてトラフィックのタイプをトレースします。使用可能なパケット キャプチャ フィルター オプションについては、 パケット キャプチャの開始の要求 を参照してください。 - 必要なパケットをキャプチャします。
request packet-capture stopCLI コマンドを使用してパケット キャプチャを停止するか、要求された数のパケットを収集した後、パケット キャプチャを自動的に停止することができます。- キャプチャされたパケットデータレポートを表示または分析します。
動作モードからパケットをキャプチャする場合の制限は、以下のとおりです。
設定モードのパケット キャプチャと運用モードのパケット キャプチャは共存できません。
動作モードのパケット キャプチャは 1 回限りの操作であり、システムはこのコマンドの履歴を保存しません。
動作モードのパケットキャプチャは、トラフィックフローのレートが低い場合に使用してください。
関連項目
例:パケットキャプチャを有効にし、デバイス上のファイアウォールフィルターを設定する
この例では、パケットキャプチャを有効にし、パケットキャプチャ用のファイアウォールフィルターを設定して、デバイスの論理インターフェイスに適用する方法を示しています。ファイアウォールフィルターを設定して、キャプチャするトラフィックの量を制限またはフィルターし、ネットワークトラフィックを分析し、ネットワーク問題のトラブルシューティングを行うことができます。
要件
開始する前に、以下を実行します。
-
基本的な接続性を確立します。
-
ネットワークインターフェイスの設定セキュリティデバイス向けインターフェイスユーザーガイドを参照してください。
概要
この例では、各ファイルの最大パケットキャプチャーサイズを500バイトに設定します。範囲は68~1500で、デフォルトは68バイトです。パケットキャプチャーファイルのターゲットファイル名をpcap-fileに指定します。そして、キャプチャーするファイルの最大数を100に指定します。範囲は2〜10,000で、デフォルトは10ファイルです。各ファイルの最大サイズは1024バイトに設定します。範囲は1,024~104,857,600で、デフォルトは512,000バイトです。
dest-allと呼ばれるファイアウォールフィルターと、特定の宛先アドレス(192.168.1.1/32)からのパケットをキャプチャするためのdest-termという用語名を設定します。一致条件を定義して、サンプル化されたパケットを受け取ります。最後に、インターフェイスfe-0/0/1上のすべての発信パケットにdest-allフィルターを適用します。
ループバックインターフェイスでファイアウォールフィルターを適用した場合、ルーティングエンジン間のすべてのトラフィックに影響します。ファイアウォールフィルターにsampleアクションがある場合、ルーティングエンジン間のパケットはサンプル化されます。パケットキャプチャが有効になっている場合、ルーティングエンジン間のパケットは、入出力インターフェイス向けに作成されたファイルでキャプチャされます。
すべてのユーザーがパケットキャプチャファイルを読む権限を持つように指定します。
設定
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを[edit]階層レベルでCLIにコピーアンドペーストして、設定モードからcommitを入力します。
set forwarding-options packet-capture maximum-capture-size 500 set forwarding-options packet-capture file filename pcap-file files 100 size 1024 world-readable set firewall filter dest-all term dest-term from destination-address 192.168.1.1/32 set firewall filter dest-all term dest-term then sample accept set firewall filter dest-all term allow-all-else then accept set interfaces fe-0/0/1 unit 0 family inet filter output dest-all set interfaces fe-0/0/1 unit 0 family inet filter input dest-all
ステップバイステップでの手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、設定モードでのCLIエディターの使用を参照してください。
デバイス上でパケットキャプチャーを有効にするには:
パケットキャプチャーの最大サイズを設定します。
[edit] user@host# edit forwarding-options user@host# set packet-capture maximum-capture-size 500
ターゲットファイル名を指定します。
[edit forwarding-options] user@host# set packet-capture file filename pcap-file
キャプチャーするファイルの最大数を指定します。
[edit forwarding-options] user@host# set packet-capture file files 100
各ファイルの最大サイズを指定します。
[edit forwarding-options] user@host# set packet-capture file size 1024
すべてのユーザーにファイルの読み取り権限を指定します。
[edit forwarding-options] user@host# set packet-capture file world-readable
パケットキャプチャ用のファイアウォールフィルターを設定します。
[edit] user@host# edit firewall user@host# set filter dest-all term dest-term from destination-address 192.168.1.1/32
一致条件とそのアクションを定義します。この
allow-all-elseという用語は、SRXが他のトラフィックをドロップしないようにするために使用します。[edit firewall] user@host# set filter dest-all term dest-term then sample accept user@host# set filter dest-all term allow-all-else then accept
インターフェイスにファイアウォールフィルターを適用して、着信パケットと発信パケットをキャプチャします。
[edit interfaces] user@host# set fe-0/0/1 unit 0 family inet filter output dest-all user@host# set fe-0/0/1 unit 0 family inet filter input dest-all
コミットして、パケットキャプチャを有効にします。
user@host# commit
パケットキャプチャを無効にして、オブジェクトの収集を停止します。
user@host# rollback 1 user@host# commit
結果
設定モードから、run show forwarding-optionsおよびrun show firewall filter dest-allコマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit]
user@host# run show forwarding-options
packet-capture {
file filename pcap-file files 100 size 1k world-readable;
maximum-capture-size 500;
}
[edit]
user@host# run show firewall filter dest-all
term dest-term {
from {
destination-address 192.168.1.1/32;
}
then {
sample;
accept;
}
}
term allow-all-else {
then accept;
}デバイスの設定が完了したら、設定モードからcommitを入力します。
検証
設定が正常に機能していることを確認します。
パケットキャプチャ設定のためのファイアウォールフィルターの検証
目的
パケットキャプチャ用のファイアウォールフィルターがデバイスに設定されていることを確認します。
アクション
設定モードから、run show forwarding-optionsおよびrun show firewall filter dest-allコマンドを入力します。出力に、宛先アドレスに送信されたパケットをキャプチャするための、意図されたファイル設定が表示されていることを確認します。
目的
キャプチャされたパケットが、デバイスの/var/tmpディレクトリに保存されていることを確認します。
アクション
動作モードからfile list /var/tmp/コマンドを入力します。
user@host> file list /var/tmp/ | match pcap-file* pcap-file fe-0.0.1
キャプチャーしたパケットを検証する
目的
パケットキャプチャーファイルが/var/tmpディレクトリの下に保存され、オフラインでパケットを分析できるか検証します。
アクション
パケットキャプチャーを無効にします。
FTPを使用して、パケットキャプチャーファイル(例:
126b.fe-0.0.1)を、パケットアナライザツール(例:tools-server)をインストールしたサーバーに転送します。構成モードから、FTPを使用して
tools-serverに接続します。[edit] user@host# run ftp tools-server Connected to tools-server.mydomain.net 220 tools-server.mydomain.net FTP server (Version 6.00LS) ready Name (tools-server:user):remoteuser 331 Password required for
remoteuser. Password: 230 User remoteuser logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp>パケットキャプチャーファイルが保存されているデバイス上のディレクトリに移動します。
ftp> lcd /var/tmp Local directory now /cf/var/tmp
分析するパケットキャプチャーファイルをサーバーにコピーします(例:
126b.fe-0.0.1)。ftp> put 126b.fe-0.0.1 local: 126b.fe-0.0.1 remote: 126b.fe-0.0.1 200 PORT command successful. 150 Opening BINARY mode data connection for '126b.fe-0.0.1'. 100% 1476 00:00 ETA 226 Transfer complete. 1476 bytes sent in 0.01 seconds (142.42 KB/s)
構成モードに戻ります。
ftp> bye 221 Goodbye. [edit] user@host#
サーバー上のパケットキャプチャーファイルをtcpdumpが含まれるサーバー、またはlibpcap形式をサポートするパケットアナライザーで開き、出力を確認します。
root@server% tcpdump -r 126b.fe-0.0.1 -xevvvv
01:12:36.279769 Out 0:5:85:c4:e3:d1 > 0:5:85:c8:f6:d1, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 33133, offset 0, flags [none], proto: ICMP (1), length: 84) 14.1.1.1 > 15.1.1.1: ICMP echo request seq 0, length 64
0005 85c8 f6d1 0005 85c4 e3d1 0800 4500
0054 816d 0000 4001 da38 0e01 0101 0f01
0101 0800 3c5a 981e 0000 8b5d 4543 51e6
0100 aaaa aaaa aaaa aaaa aaaa aaaa aaaa
aaaa aaaa 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000
01:12:36.279793 Out 0:5:85:c8:f6:d1 > 0:5:85:c4:e3:d1, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 63, id 41227, offset 0, flags [none], proto: ICMP (1), length: 84) 15.1.1.1 > 14.1.1.1: ICMP echo reply seq 0, length 64
0005 85c4 e3d1 0005 85c8 f6d1 0800 4500
0054 a10b 0000 3f01 bb9a 0f01 0101 0e01
0101 0000 445a 981e 0000 8b5d 4543 51e6
0100 aaaa aaaa aaaa aaaa aaaa aaaa aaaa
aaaa aaaa 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000
root@server% 例:インターフェイスでパケットキャプチャを設定する
この例では、インターフェイス上でパケット キャプチャーを構成してトラフィックを分析する方法を示します。
要件
開始する前に、以下を実行します。
基本的な接続性を確立します。
ネットワークインターフェイスの設定セキュリティデバイス向けインターフェイスユーザーガイドを参照してください。
概要
この例では、fe-0/0/1と呼ばれるインターフェイスを作成し、インバウンドとアウトバウンドとして論理インターフェイスでパケットキャプチャを有効にするためのトラフィックの方向を設定します。
出力方向のインターフェイス上にファイアウォールフィルターを設定および適用していない限り、フローソフトウェアモジュールをバイパスするトラフィック(ARP、OSPF、PIMなどのプロトコルパケット)では、ルーティングエンジンが生成するパケットはキャプチャーされません。
設定
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピーアンドペーストして、設定モードから commit を入力します。
edit interfaces fe-0/0/1 set unit 0 family inet sampling input output
ステップバイステップでの手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、設定モードでのCLIエディターの使用を参照してください。
インターフェイス上でパケット キャプチャーを構成するには:
インターフェイスを作成します。
[edit] user@host# edit interfaces fe-0/0/1
トラフィックの方向を構成します。
[edit interfaces fe-0/0/1] user@host# set unit 0 family inet sampling input output
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
パケットキャプチャを無効にする
分析またはデバイスへのファイルの転送を実行するには、パケット キャプチャ ファイルを開く前にパケット キャプチャを無効にする必要があります。パケット キャプチャを無効にすると、内部ファイル バッファがフラッシュされ、キャプチャされたすべてのパケットがファイルに書き込まれます。
パケット キャプチャを無効にするには、設定モードから入力します。
[edit forwarding-options] user@host# set packet-capture disable
デバイスの設定が完了したら、設定モードから commit を入力します。
パケット キャプチャが設定されたインターフェイスでのカプセル化の変更
パケット キャプチャ用に設定されたデバイス インターフェイスでカプセル化を変更する前に、パケット キャプチャを無効にして、最新パケット キャプチャ ファイルの名前を変更する必要があります。それ以外の場合、パケット キャプチャは、同じパケットキャプチャファイルで異なるカプセル化が含まれているパケットを保存します。異なるカプセル化のパケットを含むパケットファイルは、tcpdumpのようなパケット アナライザツールが分析できないため、便利ではありません。
カプセル化を変更した後は、デバイスでパケット キャプチャを安全に再有効化できます。
パケット キャプチャが設定されたインターフェイスでカプセル化を変更するには:
- パケット キャプチャを無効にする(パケット キャプチャの無効化を参照してください)。
- 設定モードから
commitを入力します。 .chdsl拡張でカプセル化を変更する最新のパケット キャプチャファイルを名前を変更します。- J-Web ユーザーインターフェイスまたはCLI設定エディターを使用して、インターフェイスでのカプセル化を変更します。
- デバイスの設定が完了したら、設定モードから
commitを入力します。 - パケットキャプチャを再有効化する(参照 例:デバイスでパケット キャプチャの有効化)。
- デバイスの設定が完了したら、設定モードから
commitを入力します。
パケットキャプチャファイルの削除
var/tmpディレクトリからパケットキャプチャファイルを削除しても、一時的にパケットキャプチャファイルが削除されるだけです。インターフェイスのパケットキャプチャファイルは、次回パケット キャプチャの構成変更がコミットされたときや、パケットキャプチャファイルのローテーションの一環として、自動的に再作成されます。
パケット キャプチャ ファイルを削除するには:
- パケット キャプチャを無効にする(パケット キャプチャの無効化を参照してください)。
- インターフェイスのパケット キャプチャ ファイルを削除します。
- パケットキャプチャを再有効化する(参照 例:デバイスでパケット キャプチャの有効化)。
- デバイスの設定が完了したら、設定モードから
commitを入力します。
パケットヘッダーを表示する
monitor traffic コマンドを入力して、ネットワークインターフェイスを介して伝送されるパケット ヘッダーを次の構文で表示します。
monitor traffic コマンドを使用すると、システムのパフォーマンスが低下する可能性があります。システムのパケットスループットへの影響を最小限に抑えるため、count や matching といったフィルタリングオプションを使用することをお勧めします。
user@host> monitor traffic <absolute-sequence> <count number> <interface interface-name> <layer2-headers> <matching "expression"> <no-domain-names> <no-promiscuous> <no-resolve> <no-timestamp> <print-ascii> <print-hex> <size bytes> <brief | detail | extensive>
表 1 で、monitor traffic コマンドのオプションについて説明します。
オプション |
説明 |
|---|---|
|
(オプション)TCP シーケンス番号の絶対値を表示します。 |
|
(オプション)指定された数のパケットヘッダーを表示します。 |
|
(オプション)指定されたインターフェイス上のトラフィックのパケット ヘッダーを表示します。インターフェイスが指定されていない場合、最も低い番号のインタフェースを監視します。 |
|
(オプション)リンク層パケット ヘッダーを行ごとに表示します。 |
|
(オプション)引用符 (" ") で囲まれた式を照合するパケット ヘッダーを表示します。表 2 から 表 4 は、式で使用できる照合条件、論理演算子、算術演算子、2 項演算子、および関係演算子を一覧表示します。 |
|
(オプション)ホスト名のドメイン名部分の表示を抑止します。 |
|
(オプション)notを指定して、監視対象インターフェイスを無作為検出モードにします。 プロミスキャスモードでは、インターフェイスに到達したすべてのパケットを読み取ります。非プロミスキャス モードでは、インターフェイスは自分宛のパケットのみを読み取ります。 |
|
(オプション)ホスト名の表示を抑止します。 |
|
(オプション)パケットヘッダーのタイムスタンプの表示を抑止します。 |
|
(オプション)各パケット ヘッダーを ASCII 形式で表示します。 |
|
(オプション)リンクレイヤー ヘッダーを除く各パケットヘッダーを 16 進数で表示します。 |
|
(オプション)指定した各パケットのバイト数を表示します。パケット ヘッダーがこのサイズを超える場合、表示されるパケット ヘッダーは切り捨てられます。デフォルト値は |
|
(オプション)最小のパケットヘッダー情報を表示します。これはデフォルトです。 |
|
(オプション)パケット ヘッダー情報を適度に詳しく表示します。一部のプロトコルでは、詳細情報を表示するために |
|
(オプション)パケット ヘッダー情報の最も広範なレベルを表示します。一部のプロトコルでは、広範な情報を表示するために |
monitor traffic コマンドを終了してコマンドプロンプトに戻るには、Ctrl-Cを押します。
monitor traffic コマンドで表示されるパケットヘッダー情報を制限する場合は、matching "expression" オプションを含めます。式は、表 2 に記載され、引用符(" ")で囲まれた 1 つ以上の照合条件で構成されます。表 3 に記載されている論理演算子(優先順位の高いものから順に記載)を使って、照合条件を組み合わせることができます。
たとえば、TCP または UDP のパケット ヘッダーを表示するには、次のように入力します。
user@host> monitor traffic matching “tcp || udp”
以下のタイプの式を比較するには、表 4 に記載されている関係演算子(優先順位の高いものから順に記載)を使用します。
算術 - 表 4 に記載されている算術演算子を使用する式。
2 項 - 表 4 に記載されている 2 項演算子を使用する式。
パケットデータアクセサー—以下の構文を使用する式:
protocol [byte-offset <size>]
protocolを 表 2 内の任意のプロトコルに置き換えます。byte-offsetを、比較に使用するパケット ヘッダーの先頭からのバイト オフセットに置き換えます。オプションのsizeパラメーターは、パケット ヘッダーで検査されるバイト数(1、2、または 4 バイト)を表します。たとえば、以下のコマンドは、すべてのマルチキャスト トラフィックを表示します。
user@host> monitor traffic matching “ether[0] & 1 !=0”
一致条件 |
説明 |
|---|---|
| エンティティ タイプ | |
|
指定されたアドレスまたはホスト名を含むパケット ヘッダーを照合します。以下のプロトコル照合条件のいずれかを先頭に追加して、その後スペースを入れて、 |
|
指定したネットワーク アドレスを含む送信元または宛先アドレスを持つパケット ヘッダーを照合します。 |
|
指定したネットワーク アドレスとサブネット マスクを含むパケット ヘッダーを照合します。 |
|
指定された送信元または宛先の TCP または UDP ポート番号またはポート名を含むパケット ヘッダーを照合します。 |
| 方向 | |
|
指定された宛先を含むパケット ヘッダーを照合します。方向照合条件は、エンティティ タイプ照合条件の前に空白文字を挟んで記述できます。 |
|
指定された送信元を含むパケット ヘッダーを照合します。 |
|
指定された送信元and宛先を含むパケットヘッダーを照合します。 |
|
指定された送信元or宛先を含むパケットヘッダーを照合します。 |
| パケット長さ | |
|
指定された値(単位はバイト)以下の長さのパケットを照合します。 |
|
指定した値(単位:バイト)以上の長さのパケットを照合します。 |
| プロトコル | |
|
すべてのARPパケットを照合します。 |
|
すべてのイーサネット フレームを照合します。 |
|
ブロードキャストまたはマルチキャストイーサネットフレームを照合します。この照合条件は、 |
|
指定したアドレスまたはプロトコルタイプを持つイーサネットフレームを照合します。引数 |
|
すべてのICMPパケットを照合します。 |
|
すべてのIPパケットを照合します。 |
|
ブロードキャストまたはマルチキャストIPパケットを照合します。 |
|
指定されたアドレスまたはプロトコル タイプを含むIPパケットを照合します。引数 |
|
すべてのIS-ISルーティングメッセージを照合します。 |
|
すべてのRARPパケットを照合します。 |
|
すべての TCP パケットを照合します。 |
|
すべての UDP パケットを照合します。 |
論理演算子 |
説明 |
|---|---|
|
論理NOT。最初の条件が一致しない場合は、次の条件が評価されます。 |
|
論理AND。最初の条件が一致すると、次の条件が評価されます。最初の条件が一致しない場合は、次の条件は省略されます。 |
|
論理OR。最初の条件が一致すると、次の条件は省略されます。最初の条件が一致しない場合は、次の条件が評価されます。 |
|
グループ演算子がデフォルトの優先順位を上書きします。括弧は特殊文字で、それぞれの前にバックスラッシュ(\)が必要です。 |
オペレータ |
説明 |
|---|---|
| 算術演算子 | |
|
加算演算子。 |
|
減算演算子。 |
|
除算演算子。 |
| 2項演算子 | |
|
ビット単位のAND。 |
|
ビット単位の排他的論理和。 |
|
ビット単位の包含的論理和。 |
| 関係演算子 | |
|
最初の式が 2 番目の式以下の場合、一致が発生します。 |
|
最初の式が 2 番目の式以上の場合、一致が発生します。 |
|
最初の式が 2 番目の式未満の場合、一致が発生します。 |
|
最初の式が 2 番目の式より大きい場合、一致が発生します。 |
|
最初の式と 2 番目の式が等しい場合、一致が発生します。 |
|
最初の式と2番目の式が等くない場合、一致が発生します。 |
以下に、monitor traffic コマンドの出力例を示します。
user@host> monitor traffic count 4 matching “arp” detail
Listening on fe-0/0/0, capture size 96 bytes 15:04:16.276780 In arp who-has 193.1.1.1 tell host1.site2.net 15:04:16.376848 In arp who-has host2.site2.net tell host1.site2.net 15:04:16.376887 In arp who-has 193.1.1.2 tell host1.site2.net 15:04:16.601923 In arp who-has 193.1.1.3 tell host1.site2.net