パケット キャプチャーを使用してネットワーク トラフィックを分析
パケット キャプチャの概要
パケット キャプチャは、ネットワーク トラフィックの分析とネットワークの問題のトラブルシューティングに役立つツールです。パケット キャプチャ ツールは、監視とロギングのためにネットワークを介して伝送されるリアルタイム データ パケットをキャプチャします。
パケット キャプチャは、物理インターフェイス、reth インターフェイス、トンネル インターフェイス(gr、ip、st0、lsq-/ls など)でサポートされています。
パケットは、変更なしにバイナリ データとしてキャプチャされます。Ethereal や tcpdump などのパケット アナライザで、パケット情報をオフラインで読み取ることができます。ルーティング エンジン宛てのパケットとルーティング エンジンから発信されるパケットを迅速にキャプチャして、オンラインで分析する必要がある場合、J-Web パケット キャプチャ診断ツールを使用できます。
パケット キャプチャ ツールは IPv6 パケット キャプチャをサポートしていません。
J-Web 設定エディターまたは CLI 設定エディターのいずれかを使用して、パケット キャプチャを設定できます。
ネットワーク管理者とセキュリティ エンジニアは、パケット キャプチャを使用して、以下のタスクを実行します。
ネットワーク トラフィックを監視して、トラフィック パターンを分析します。
ネットワークの問題を特定してトラブルシューティングします。
不正な侵入、スパイウェア アクティビティ、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 パケットをキャプチャできます。ただし、アウトバウンド方向のインターフェイス上にファイアウォール フィルターを設定および適用していない限り、フロー ソフトウェア モジュールをバイパスするトラフィック(ARP、OSPF、PIMなどのプロトコル パケット)では、ルーティング エンジンが生成するパケットはキャプチャされません。
トンネル インターフェイスは、アウトバウンド方向のパケット キャプチャのみサポートできます。
J-Web 設定エディターまたは CLI 設定エディターを使用して、最大パケット サイズ、キャプチャされたパケットを保存に使用するファイル サイズ、最大ファイル サイズ、最大パケット キャプチャ ファイル数、ファイル権限を指定します。
アウトバウンド(エグレス)方向の 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.0という名前のファイルが最大サイズにpcap-file.fe-0.0.1達すると、ファイルの名前が に変更されます。pcap-file.fe-0.0.1という名前のファイルが再び最大サイズにpcap-file.fe-0.0.1達すると、 というファイル名は に変更pcap-file.fe-0.0.1.1され、 というファイル名pcap-file.fe-0.0.1.0は に変更されます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で外部デバイスにファイルを転送したりする前に、パケット キャプチャを無効にします。パケット キャプチャを無効にすると、内部ファイル バッファがフラッシュされ、キャプチャされたすべてのパケットがファイルに書き込まれます。
例:デバイス上でパケット キャプチャーを有効にする
この例では、デバイスのパケット キャプチャーを有効にして、ネットワーク トラフィックの分析やネットワークの問題のトラブルシューティングを行う方法を示します。
要件
開始する前に、以下を実行します。
基本的な接続性を確立します。
ネットワークインターフェイスの設定セキュリティデバイス向けインターフェイスユーザーガイドを参照してください。
概要
この例では、各ファイルの最大パケットキャプチャーサイズを500バイトに設定します。範囲は 68~1500 で、デフォルトは 68 バイトです。パケット キャプチャー ファイルのターゲット ファイル名を pcap-file に指定します。そして、キャプチャーするファイルの最大数を100に指定します。範囲は 2〜10,000 で、デフォルトは 10 ファイルです。各ファイルの最大サイズは 1024 バイトに設定します。範囲は 1,024~104,857,600 で、デフォルトは 512,000 バイトです。最後に、すべてのユーザーがパケット キャプチャー ファイルの読み取り権限を持つように指定します。
設定
手順
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
ステップバイステップでの手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、設定モードでの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
結果
設定モードから、show forwarding-options
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit] user@host# show forwarding-options packet-capture { file filename pcap-file files 100 size 1k world-readable; maximum-capture-size 500; }
デバイスの設定が完了したら、設定モードから commit
を入力します。
検証
設定が正常に機能していることを確認します。
パケット キャプチャー構成を検証する
目的
パケットキャプチャーがデバイスで構成されていることを確認します。
対処
設定モードからshow forwarding-options
コマンドを入力します。出力が、パケットキャプチャー用の意図したファイル構成になっているか検証します。
キャプチャーしたパケットを検証する
目的
パケット キャプチャー ファイルが /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
例:パケット キャプチャのためのファイアウォール フィルターの設定
この例では、パケット キャプチャ向けのファイアウォール フィルターの設定と、その論理インターフェイスへの適用方法について説明します。
要件
開始する前に、以下を実行します。
基本的な接続性を確立します。
ネットワークインターフェイスの設定セキュリティデバイス向けインターフェイスユーザーガイドを参照してください。
概要
この例では、dest-all と呼ばれるファイアウォール フィルターと dest-term と呼ばれる条件を設定し、特定の宛先アドレス(192.168.1.1/32)からパケットを抽出します。一致条件を定義して、サンプル化されたパケットを受け取ります。最後に、インターフェイス fe-0/0/1 上のすべての発信パケットに dest-all フィルターを適用します。
ループバック インターフェイスでファイアウォール フィルターを適用した場合、ルーティング エンジン間のすべてのトラフィックに影響します。ファイアウォール フィルターにsample
アクションがある場合、ルーティング エンジン間のパケットはサンプル化されます。パケット キャプチャが有効になっている場合、ルーティング エンジン間のパケットは、入出力インターフェイス向けに作成されたファイルでキャプチャされます。
トポロジー
設定
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit]
階層レベルでCLIにコピーアンドペーストして、設定モードから commit
を入力します。
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 edit interfaces set interfaces fe-0/0/1 unit 0 family inet filter output dest-all
ステップバイステップでの手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の説明については、Junos OS CLIユーザーガイドの設定モードでCLIエディターを使用するを参照してください。
パケット キャプチャ向けのファイアウォール フィルターを設定し、それを論理インターフェイスに適用する方法は次の通りです。
ファイアウォール フィルターとその宛先アドレスを指定します。
[edit] user@host# edit firewall user@host# set filter dest-all term dest-term from destination-address 192.168.1.1/32
一致条件とそのアクションを定義します。
[edit firewall] user@host# set filter dest-all term dest-term then sample accept
すべての発信パケットにフィルターを適用します。
[edit interfaces] user@host# set interfaces fe-0/0/1 unit 0 family inet filter output dest-all
結果
設定モードから、show firewall filter dest-all
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit] user@host# show firewall filter dest-all term dest-term { from { destination-address 192.168.1.1/32; } then { sample; accept; } }
デバイスの設定が完了したら、設定モードから commit
を入力します。
例:データパス・デバッギング用パケット・キャプチャの設定
この例では、デバイスを通過するトラフィックを監視するためにパケット・キャプチャを設定する方法を示しています。パケット・キャプチャは、パケットをPCAPファイル形式にダンプし、後にtcpdumpユーティリティで調べられるようにします。
要件
開始する前に、データパスのデバッグ(CLI手順)を参照してください。
概要
トラフィックをフィルタリングするためにフィルタが定義されます;それから、フィルタリングされたトラフィックにアクション・プロファイルを適用します。アクション・プロファイルは、プロセス・ユニットに対するさまざまなアクションを指定します。サポートされているアクションの1つはパケット・ダンプで、パケットをルーティング・エンジンに送り、というコマshow security datapath-debug capture
ンドを使って読み込めるように独自の形式で保存します。
データ・パスのデバッグは、SRX1400、SRX3400、SRX3600、SRX5400、SRX5600、およびSRX5800でサポートされています。
設定
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit]
階層レベルでCLIにコピーアンドペーストして、設定モードから commit
を入力します。
set security datapath-debug capture-file my-capture set security datapath-debug capture-file format pcap set security datapath-debug capture-file size 1m set security datapath-debug capture-file files 5 set security datapath-debug maximum-capture-size 400 set security datapath-debug action-profile do-capture event np-ingress packet-dump set security datapath-debug packet-filter my-filter action-profile do-capture set security datapath-debug packet-filter my-filter source-prefix 1.2.3.4/32
ステップバイステップでの手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法については、Junos OS CLI ユーザーガイドのコンフィギュレーション・モードで CLI エディタを使用するを参照してください。
パケット・キャプチャを設定するには:
パケット・プロセス・パスにある複数のプロセス・ユニットの security datapath-debugオプションを編集してください:
[edit] user@host# edit security datapath-debug
キャプチャ・ファイル、ファイル形式、ファイルサイズ、およびファイル数を有効にします。サイズ番号は、キャプチャ・ファイルのサイズを制限します。制限サイズに達した後、ファイル番号が指定されている場合、キャプチャファイルはファイル名xへ循環されます。ここで、xは、指定されたインデックスに達するまで自動的にインクリメントされ、その後ゼロに戻ります。ファイル・インデックスを指定しない場合、パケットはサイズ制限に達した後、廃棄されます。デフォルトのサイズは 512 キロバイトです。
[edit security datapath-debug] user@host# set capture-file my-capture format pcap size 1m files 5 [edit security datapath-debug] user@host# set maximum-capture-size 400
アクション・プロファイルを有効にし、イベントを設定します。アクションプロファイルをdo-captureとし、イベントタイプをnp-ingressとして設定します:
[edit security datapath-debug] user@host# edit action-profile do-capture [edit security datapath-debug action-profile do-capture] user@host# edit event np-ingress
アクション・プロファイルのパケット・ダンプを有効にします:
[edit security datapath-debug action-profile do-capture event np-ingress] user@host# set packet-dump
パケット・フィルター、アクション、およびフィルター・オプションを有効にします。パケット・フィルタをmy-filter、アクション・プロファイルをdo-capture、およびフィルタ・オプションをsource-prefix 1.2.3.4/32に設定しています。
[edit security datapath-debug] user@host# set security datapath-debug packet-filter my-filter action-profile do-capture
[edit security datapath-debug] user@host# set security datapath-debug packet-filter my-filter source-prefix 1.2.3.4/32
結果
設定モードから、show security datapath-debug
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。show security datapath-debug
というコマンドからは、以下のshow security datapath-debug
という出力となります。
security { datapath-debug { capture-file { my-capture format pcap size 1m files 5; } } maximum-capture-size 100; action-profile do-capture { event np-ingress { packet-dump } } packet-filter my-filter { source-prefix 1.2.3.4/32 action-profile do-capture } }
デバイスの設定が完了したら、設定モードから commit
を入力します。
検証
設定が正常に機能していることを確認します。
パケット・キャプチャの検証
目的
パケット・キャプチャが動作しているか否かを確認します。
対処
オペレーション・モードから、パケット・キャプチャを開始するrequest security datapath-debug capture start
というコマンドを入力し、パケット・キャプチャを停止するコマrequest security datapath-debug capture stop
というンドを入力します。
結果を表示するには、CLI操作モードからローカルのUNIXシェルにアクセスし、/var/log/my-captureのディレクトリに移動します。その結果は、tcpdumpユーティリティを使用して読み取ることができます。
データ・パスのデバッグ・キャプチャーの検証
目的
データ・パス・デバッグ・キャプチャ・ファイルの詳細を確認します。
対処
動作モードからshow security datapath-debug capture
コマンドを入力します。
user@host>show security datapath-debug capture
トラブルシューティングが終了したら、すべての traceoptionsコンフィギュレーション(flow traceoptions に限らない)と完全な security datapath-debug コンフィギュレーション・スタンザが削除または無効化されていることを確認します。デバッグ・コンフィギュレーションが有効なままだと、デバイスのCPUやメモリ資源を使い続けることになります。
データ・パス・デバッグ・カウンタの検証
目的
データ・パス・デバッグ・カウンターの詳細を確認します。
対処
動作モードからshow security datapath-debug counter
コマンドを入力します。
パケット キャプチャの無効化
分析またはデバイスへのファイルの転送を実行するには、パケット キャプチャ ファイルを開く前にパケット キャプチャを無効にする必要があります。パケット キャプチャを無効にすると、内部ファイル バッファがフラッシュされ、キャプチャされたすべてのパケットがファイルに書き込まれます。
パケット キャプチャを無効にするには、設定モードから入力します。
[edit forwarding-options] user@host# set packet-capture disable
デバイスの設定が完了したら、設定モードから commit
を入力します。
パケット キャプチャ ファイルを削除する
var/tmpディレクトリからパケットキャプチャファイルを削除しても、一時的にパケットキャプチャファイルが削除されるだけです。インターフェイスのパケットキャプチャファイルは、次回パケット キャプチャの構成変更がコミットされたときや、パケットキャプチャファイルのローテーションの一環として、自動的に再作成されます。
パケット キャプチャ ファイルを削除するには:
- パケット キャプチャを無効にする(パケット キャプチャの無効化を参照してください)。
- インターフェイスのパケット キャプチャ ファイルを削除します。
- パケットキャプチャを再有効化する(参照 例:デバイスでパケット キャプチャの有効化)。
- デバイスの設定が完了したら、設定モードから
commit
を入力します。
パケット キャプチャが設定されたインターフェイスでのカプセル化の変更
パケット キャプチャ用に設定されたデバイス インターフェイスでカプセル化を変更する前に、パケット キャプチャを無効にして、最新パケット キャプチャ ファイルの名前を変更する必要があります。それ以外の場合、パケット キャプチャは、同じパケットキャプチャファイルで異なるカプセル化が含まれているパケットを保存します。異なるカプセル化のパケットを含むパケットファイルは、tcpdumpのようなパケット アナライザツールが分析できないため、便利ではありません。
カプセル化を変更した後は、デバイスでパケット キャプチャを安全に再有効化できます。
パケット キャプチャが設定されたインターフェイスでカプセル化を変更するには:
- パケット キャプチャを無効にする(パケット キャプチャの無効化を参照してください)。
- 設定モードから
commit
を入力します。 .chdsl
拡張でカプセル化を変更する最新のパケット キャプチャファイルを名前を変更します。- J-Web ユーザーインターフェイスまたはCLI設定エディターを使用して、インターフェイスでのカプセル化を変更します。
- デバイスの設定が完了したら、設定モードから
commit
を入力します。 - パケットキャプチャを再有効化する(参照 例:デバイスでパケット キャプチャの有効化)。
- デバイスの設定が完了したら、設定モードから
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