2016-02-18 10:32 AM 2020-07-22 02:02 AM 更新
このドキュメントでは IOS-XE での EPC(Embedded Packet Capture)を使用したパケットキャプチャ方法を紹介します。
IOS と IOS-XE では EPC を実施するためのコマンドが異なるため注意してください。
IOS-XE ではなく IOS での EPC については以下のドキュメントを参照してください。
EPC(Embedded Packet Capture)を使ったパケットキャプチャ
https://supportforums.cisco.com/ja/document/50281
EPC はルータが受信したパケットをキャプチャし、解析するための機能です。
EPC を使用することで受信したパケットをキャプチャし、show コマンドでキャプチャしたパケットの詳細を確認する、キャプチャしたパケットを wireshark などのキャプチャ解析ソフトで開くことが出来る形式で保存する、といったことが可能です。
キャプチャポイントは EPC の各種設定を紐づけるための名前とお考えください。
以下の例では、キャプチャポイントに CAP という名前をつけ、GigabitEthernet 0/0/0 で受信するパケットと、GigabitEthernet 0/0/0 から送信するパケットのキャプチャを行うように設定しています。
Router# monitor capture CAP interface GigabitEthernet 0/0/0 both
control-plane が送受信するパケットのキャプチャも行いたい場合は上記に加え、control-plane option の設定を行ってください。
以下の例では、キャプチャポイントに CAP という名前をつけ、GigabitEthernet 0/0/0 で送受信するパケットと、この Router の control-plane が送受信するパケットをキャプチャしています。
※monitor capture CAP control-plane both の設定がなくても、control-plane で送受信するパケットのうち Gi0/0/0 を通過するものについてはキャプチャされます。
Router# monitor capture CAP interface GigabitEthernet 0/0/0 both Router# monitor capture CAP control-plane both
Filter の適用方法は以下の 3 種類があります。
・match option を使う方法
・名前付き access-list を使う方法
・class-map を使う方法
上記 Filter を併用することは出来ません。そのため、上記のいずれか1つの Filter 方法を使用することになります。
match option にて、キャプチャを行うパケットの種類を指定します。
以下の例では送信元の IP address が 192.168.1.0/24 で送信先の IP address が 192.168.2.0/24 のパケットをキャプチャの対象とする設定を行っています。
Router# monitor capture CAP match ipv4 192.168.1.0/24 192.168.2.0/24
キャプチャの対象とするパケットを 名前付き access-list で定義します。
EPC では名前付き access-list のみサポートしています。
通常の access-list はサポートしていません。
以下の例では送信元の IP address が 192.168.1.0/24 で送信先の IP address が 192.168.2.0/24 のパケットを対象とする名前付き access-list の設定を行っています。
Router# configure terminal Router(config)# ip access-list extended EPC Router(config-ext-nacl)# permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 Router(config-ext-nacl)# end
作成した名前付き access-list とバッファの紐づけを行います。
以下は設定例です。
Router# monitor capture CAP access-list EPC
キャプチャの対象とするパケットを class-map で定義します。
以下は設定例です。
この例では、パケットの長さが 100 - 120 byte のパケットを対象とする class-map EPC を作成しています。
Router(config)# class-map EPC Router(config-cmap)# match packet length max 120 Router(config-cmap)# match packet length min 100
EPC の Filter に class-map を使用する場合、class-map 配下の match protocol の設定はサポートされておりませんので、ご注意ください。
作成した class-map とバッファの紐づけを行います。
以下の例ではキャプチャポイント CAP と class-map EPC の紐づけを行っています。
Router# monitor capture CAP class-map EPC
以下の設定は Option です。EPC を行うための必須の設定ではありませんが、必要に応じて設定を行ってください。
EPC の buffer size の変更は以下のコマンドで行います。
この例ではキャプチャポイント CAP の buffer size を 100MB に変更しています。
Router# monitor capture CAP buffer size 100
buffer size は default では 10MB です。
この option を有効にするとバッファが一杯になった場合にバッファに保存された古いパケットが自動的に削除されます。
buffer circular は以下のように有効にします。
Router# monitor capture CAP buffer circular
buffer circular は default では無効です。
buffer circular を有効にした後で、buffer circular を無効にしたい場合は以下のように設定してください。
Router# no monitor capture CAP buffer circular
特定の秒数だけキャプチャを行います。
以下の例ではキャプチャを開始してから 10 秒間だけパケットをキャプチャするように設定しています。
Router# monitor capture CAP limit duration 10
設定できる範囲は 1 秒から 1000000 秒までです。
limit duration は default では無効です。
limit duration を有効にした後で、limit duration を無効にしたい場合は以下のように設定してください。
Router# no monitor capture CAP limit duration
N 個に 1 個のパケットをキャプチャするようにします。
以下の例では 10 個に 1 個のパケットをキャプチャするように設定しています。
Router# monitor capture CAP limit every 10
設定できる範囲は 2 個から 100000 個までです。
limit every は default では無効です。
limit every を有効にした後で、limit every を無効にしたい場合は以下のように設定してください。
Router# no monitor capture CAP limit every
保存されるキャプチャの最大長を指定します。
以下の例では各パケットの先頭の 64 byte のみが保存されるように指定しています。
Router# monitor capture CAP limit packet-len 64
設定できる範囲は 64 byte から 9500 byte までです。
パケットの全体を保存する必要がなく、ヘッダ情報のみ保存したい場合などにこの option を有効にしてください。
limit packet-len は default では無効です。
limit packet-len を有効にした後で、limit packet-len を無効にしたい場合は以下のように設定してください。
Router# no monitor capture CAP limit packet-len
指定した数のみパケットを保存したい場合に使用します。
以下の例ではキャプチャを開始してから初めの 5 パケットのみをキャプチャするように設定しています。
Router# monitor capture CAP limit packets 5
設定できる範囲は 1 から 100000 です。
limit packets は default では無効です。
limit packets を有効にした後で、limit packets を無効にしたい場合は以下のように設定してください。
Router# no monitor capture CAP limit packets
指定した pps を超えた場合はパケットを保存しないようにします。
以下の例では 5 pps を超えた場合はパケットを保存しないようにします。
Router# monitor capture CAP limit pps 5
設定できる範囲は 1 から 1000000 です。
limit pps は default では無効です。
limit pps を有効にした後で、limit pps を無効にしたい場合は以下のように設定してください。
Router# no monitor capture CAP limit pps
キャプチャポイント名を指定し、パケットキャプチャを開始します。
Router# monitor capture CAP start
キャプチャポイント名を指定し、パケットキャプチャを停止します。
Router# monitor capture CAP stop
ここでは EPC 関連の各 show コマンドを簡単に紹介します。
全てのキャプチャポイントの情報を確認します。
Router# show monitor capture Status Information for Capture CAP Target Type: Interface: GigabitEthernet0/0/0, Direction: both Status : Inactive Filter Details: Access-list: EPC Buffer Details: Buffer Type: LINEAR (default) Limit Details: Number of Packets to capture: 0 (no limit) Packet Capture duration: 0 (no limit) Packet Size to capture: 0 (no limit) Packet sampling rate: 0 (no sampling) Status Information for Capture TEST Target Type: Interface: GigabitEthernet0/0/0, Direction: both Status : Inactive Filter Details: Access-list: EPC Buffer Details: Buffer Type: LINEAR (default) Limit Details: Number of Packets to capture: 0 (no limit) Packet Capture duration: 0 (no limit) Packet Size to capture: 0 (no limit) Packet sampling rate: 0 (no sampling)
指定したキャプチャポイントの情報を確認します。
Router# show monitor capture CAP Status Information for Capture CAP Target Type: Interface: GigabitEthernet0/0/0, Direction: both Status : Inactive Filter Details: Access-list: EPC Buffer Details: Buffer Type: LINEAR (default) Limit Details: Number of Packets to capture: 0 (no limit) Packet Capture duration: 0 (no limit) Packet Size to capture: 0 (no limit) Packet sampling rate: 0 (no sampling)
指定したキャプチャポイントの設定情報を確認します。
Router# show monitor capture CAP parameter monitor capture CAP interface GigabitEthernet0/0/0 both monitor capture CAP access-list EPC
EPC の設定は show running-config には反映されないため、EPC の設定を確認する場合はこのコマンドで確認する必要があります。
指定したキャプチャポイントの buffer 情報を確認します。
Router# show monitor capture CAP buffer buffer size (KB) : 10240 buffer used (KB) : 128 packets in buf : 20 packets dropped : 0 packets per sec : 4000
指定したキャプチャポイントに保存された各パケットの概略を出力します。
Router# show monitor capture CAP buffer brief ------------------------------------------------------------- # size timestamp source destination protocol ------------------------------------------------------------- 0 114 0.000000 192.168.1.1 -> 192.168.2.2 ICMP 1 114 0.001007 192.168.2.2 -> 192.168.1.1 ICMP 2 114 0.001007 192.168.1.1 -> 192.168.2.2 ICMP 3 114 0.001007 192.168.2.2 -> 192.168.1.1 ICMP 4 114 0.001999 192.168.1.1 -> 192.168.2.2 ICMP 5 114 0.001999 192.168.2.2 -> 192.168.1.1 ICMP 6 114 0.001999 192.168.1.1 -> 192.168.2.2 ICMP --- snip ---
指定したキャプチャポイントに保存された各パケットの概略と各パケットの初めの 64 byte の hex 値を出力します。
Router# show monitor capture CAP buffer detailed ------------------------------------------------------------- # size timestamp source destination protocol ------------------------------------------------------------- 0 114 0.000000 192.168.1.1 -> 192.168.2.2 ICMP 0000: 881DFCFC 5B91F44E 05C3DCD0 08004500 ....[..N......E. 0010: 0064E723 0000FE01 5121C0A8 0101C0A8 .d.#....Q!...... 0020: 02020800 08D40014 00000000 0000013C ...............< 0030: 7426ABCD ABCDABCD ABCDABCD ABCDABCD t&.............. 1 114 0.001007 192.168.2.2 -> 192.168.1.1 ICMP 0000: F44E05C3 DCD0881D FCFC5B91 08004500 .N........[...E. 0010: 0064E723 0000FF01 5021C0A8 0202C0A8 .d.#....P!...... 0020: 01010000 10D40014 00000000 0000013C ...............< 0030: 7426ABCD ABCDABCD ABCDABCD ABCDABCD t&.............. --- snip ---
指定したキャプチャポイントに保存された各パケットの hex 値を出力します。
Router# show monitor capture CAP buffer dump 0 0000: 881DFCFC 5B91F44E 05C3DCD0 08004500 ....[..N......E. 0010: 0064E723 0000FE01 5121C0A8 0101C0A8 .d.#....Q!...... 0020: 02020800 08D40014 00000000 0000013C ...............< 0030: 7426ABCD ABCDABCD ABCDABCD ABCDABCD t&.............. 0040: ABCDABCD ABCDABCD ABCDABCD ABCDABCD ................ 0050: ABCDABCD ABCDABCD ABCDABCD ABCDABCD ................ 0060: ABCDABCD ABCDABCD ABCDABCD ABCDABCD ................ 0070: ABCD .. 1 0000: F44E05C3 DCD0881D FCFC5B91 08004500 .N........[...E. 0010: 0064E723 0000FF01 5021C0A8 0202C0A8 .d.#....P!...... 0020: 01010000 10D40014 00000000 0000013C ...............< 0030: 7426ABCD ABCDABCD ABCDABCD ABCDABCD t&.............. 0040: ABCDABCD ABCDABCD ABCDABCD ABCDABCD ................ 0050: ABCDABCD ABCDABCD ABCDABCD ABCDABCD ................ 0060: ABCDABCD ABCDABCD ABCDABCD ABCDABCD ................ 0070: ABCD .. --- snip ---
以下のコマンドを使用してキャプチャしたパケットを保存します。
monitor capture <Name of the Capture Point> export <File System>:<File Name>
以下の例ではキャプチャしたパケットを CAP.pcap という名前で bootflash に保存しています。
Router# monitor capture CAP export bootflash:CAP.pcap
上記の bootflash: の部分で ftp: や tftp: を指定することで FTP Server や TFTP Server にキャプチャしたパケットを保存することも可能です。
保存したファイルは wireshark などのキャプチャ解析ソフトで開くことが出来ます。
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします
下記より関連するコンテンツにアクセスできます