パケットスニッフィングおよびネットワーク障害の切り分けのために、パケットキャプチャ機能をイネーブルにするには、特権 EXEC モードで capture コマンドを使用します。パケットキャプチャ機能をディセーブルにするには、このコマンドの no 形式を使用します。
ネットワーク トラフィックをキャプチャします。
capture capture_name [ type { asp-drop [ all | drop-code ] | tls-proxy | raw-data | isakmp [ ikev1 | ikev2 ] | inline-tag [ tag ] | webvpn user webvpn-user } ] [ access-list access_list_name { interface { interface_name | asa_dataplane asa_mgmt_plane | cplane } } [ buffer buf_size ] [ ethernet-type type ] [ reeinject-hide ] [ packet-length bytes ] [ circular-buffer ] [ trace [ trace-count number ] ] [ real-time [ dump ] [ detail ] ] [ match protocol { host source-ip |
source-ip mask | any | any4 | any6 } [ operator src_port ] { host dest_ip | dest_ip mask | | any | any4 | any6 } [ operator dest_port ] ]
[ switch ] [ offload ] [ ivlan number ]
[ ovlan number ]
クラスタ制御リンク トラフィックをキャプチャします。
capture capture_name { type lacp interface interface_id [ buffer buf_size ] [ packet-length bytes ] [ circular-buffer ] [ real-time [ dump ] [ detail ] ]
capture capture_name interface cluster [ buffer buf_size ] [ ethernet-type type ] [ packet-length bytes ] [ circular-buffer ] [ cp-cluster ] [ trace [ trace-count number ] ]
[ real-time [ dump ] [ detail ] ] [ match protocol { host source-ip |
source-ip mask | any | any4 | any6 } [ operator src_port ] { host dest_ip | dest_ip mask | | any | any4 | any6 } [ operator dest_port ] ]
Cisco Secure Firewall 3100 モデルデバイスの入力スイッチキャプチャパケット:
capture capture_name switch interface interface_name [ drop { disable | mac-filter }]
Cisco Secure Firewall 4200 モデルデバイスのスイッチキャプチャパケット:
capture capture_name switch interface interface_name [ direction
{ { both | egress } [ drop disable ] | ingress [ drop { disable | mac-filter }] }]
(注)
|
Cisco Secure Firewall 4200 モデルデバイスの場合、mac-filter オプションは入力方向でのみサポートされます。
|
クラスタ全体のパケットをキャプチャします。
cluster exec capture capture_name [ persist ] [ include-decrypted ]
永続的なパケットトレースクラスタ全体をクリアします。
cluster exec clear packet-trace
パケットキャプチャを削除します。
no capture capture_name [ arguments ]
パケットキャプチャを手動で開始または停止します。
capture capture_name stop
no capture capture_name stop
構文の説明
access-list access_list_name
|
(任意)アクセス リストと一致するトラフィックをキャプチャします。マルチ コンテキスト モードでは、1 つのコンテキスト内でのみこのコマンドを使用できます。
|
any
|
すべての IPv4 トラフィックを指定します。
|
any4
|
すべての IPv4 トラフィックを指定します。
|
any6
|
すべての IPv6 トラフィックを指定します。
|
all
|
高速セキュリティ パスでドロップされるすべてのパケットをキャプチャします。
|
asa_dataplane
|
ASA とバックプレーンを使用するモジュール(ASA FirePOWER モジュールなど)の間を通過する ASA バックプレーンのパケットをキャプチャします。
|
asp-drop drop-code
|
(任意)高速セキュリティ パスでドロップされるパケットをキャプチャします。drop-code は、高速セキュリティ パスでドロップされるトラフィックのタイプを指定します。ドロップコードのリストについては、show asp drop frame コマンドを参照してください。このキーワードは、packet-length 、circular-buffer 、および buffer キーワードと一緒に入力できますが、interface または ethernet-type キーワードと一緒には入力できません。クラスタでは、ドロップされた、ユニット間の転送データ パケットもキャプチャされます。マルチ コンテキスト モードでは、このオプションがシステム実行スペースで発行されると、すべてのドロップされたデータ パケットがキャプチャされます。このオプションがコンテキストで発行されたときは、ドロップされたデータ
パケットのうち、そのコンテキストに属するインターフェイスから入ったものだけがキャプチャされます。
|
buffer buf_size
|
(任意)パケットの保存に使用するバッファのサイズをバイト単位で定義します。このバイト数のバッファがいっぱいになると、パケット キャプチャは停止します。クラスタ内で使用されるときは、これはユニットあたりのサイズです(全ユニットの合計ではありません)。
|
capture_name
|
パケット キャプチャの名前を指定します。複数のトラフィックのタイプをキャプチャするには、複数の capture ステートメントで同じ名前を使用します。show capture コマンドを使用してキャプチャのコンフィギュレーションを表示すると、すべてのオプションが 1 行にまとめられます。
|
circular-buffer
|
(任意)バッファがいっぱいになったとき、バッファを先頭から上書きします。
|
cp-cluster
|
(任意)クラスタ インターフェイスで制御パケットをキャプチャします。
|
direction
|
(オプション。Cisco Secure Firewall 4200 モデルデバイスでのみサポートされます)。キャプチャするスイッチトラフィックの方向を指定します。次のいずれかを指定できます。
-
both :スイッチの双方向トラフィックをキャプチャします。
-
egress :スイッチの出力トラフィックをキャプチャします。
-
ingress :スイッチの入力トラフィックをキャプチャします。
|
drop
|
mac-filter ドロップのパケットキャプチャ設定を指定します。
|
ethernet-type type
|
(任意)キャプチャするイーサネット タイプを選択します。サポートされるイーサネット タイプには、8021Q、ARP、IP、IP6、LACP、PPPOED、PPPOES、RARP、および VLAN などがあります。802.1Q タイプと VLAN
タイプでは例外が発生します。802.1Q タグは自動的にスキップされ、照合には内部イーサネット タイプが使用されます。
|
host ip
|
パケット送信先ホストの単一の IP アドレスを指定します。
|
include-decrypted
|
(オプション)ファイアウォールデバイスに入った時点で、通常のトラフィックと復号されたトラフィックの両方を含む復号された IPsec パケットをキャプチャします。また、SSL 復号トラフィックのパケットもキャプチャします。ただし、VTI からの復号化されたパケットはキャプチャに含まれません。これらは
VTI インターフェイスでのみ使用でき、外部インターフェイスでは使用できないためです。
|
inline-tag tag
|
特定の SGT 値のタグを指定するか、または未指定のままにしてすべての SGT 値のタグ付きパケットをキャプチャします。
|
interface interface_name
|
パケット キャプチャを使用するインターフェイスの名前を設定します。type asp-drop を除いて、パケットをキャプチャするにはインターフェイスを設定する必要があります。複数の capture コマンドで同じ名前を使用して、複数のインターフェイスを設定できます。ASA のデータプレーン、管理プレーン、またはコントロールプレーンでパケットをキャプチャするには、interface キーワードを asa_dataplane 、asa_mgmt_plane 、または cplane とともにインターフェイス名として指定できます。インターフェイス名として cluster を指定すると、クラスタ制御リンクインターフェイスでトラフィックをキャプチャできます。キャプチャのタイプとして lacp が設定されている場合は、インターフェイス名は物理名です。
|
ikev1 または ikev2
|
IKEv1 または IKEv2 プロトコル情報だけをキャプチャします。
|
isakmp
|
(オプション)VPN 接続の ISAKMP トラフィックをキャプチャします。ISAKMP サブシステムは、上位層プロトコルにアクセスできません。このキャプチャは、PCAP パーサーを満足させるために物理、IP、および UDP の各レイヤを 1
つにまとめた疑似キャプチャです。このピア アドレスは、SA 交換から取得され、IP レイヤに保存されます。
|
lacp
|
(オプション)LACP トラフィックをキャプチャします。設定されている場合は、インターフェイス名は物理インターフェイス名です。
|
mask
|
IP アドレスのサブネット マスク。ネットワーク マスクを指定するときは、指定方法が Cisco IOS ソフトウェアの access-list コマンドとは異なることに注意してください。ASA では、ネットワーク マスク(たとえば、Class
C マスクの 255.255.255.0)が使用されます。Cisco IOS マスクでは、ワイルドカード ビット(たとえば、0.0.0.255)が使用されます。
|
match protocol
|
5 タプルが一致するパケットを指定し、キャプチャされるこれらのパケットのフィルタリングを許可します。1 行に最大 3 回このキーワードを使用できます。
|
operator
|
(任意)送信元または宛先で使用されるポート番号を照合します。使用できる演算子は、次のとおりです。
-
lt:より小さい
-
gt:より大きい
-
eq:等しい
-
neq :等しくない
-
range :範囲
|
packet-length bytes
|
(任意)キャプチャ バッファに保存する各パケットの最大バイト数を設定します。
|
persit
|
(オプション)クラスタユニットで永続的なパケットをキャプチャします。
|
port
|
(任意)プロトコルを tcp または udp に設定する場合、TCP ポートまたは UDP ポートの番号(整数)か名前を指定します。
|
raw-data
|
(任意)着信パケットおよび発信パケットを 1 つ以上のインターフェイスでキャプチャします。
|
real-time
|
キャプチャしたパケットをリアルタイムで継続的に表示します。リアルタイム パケット キャプチャを終了するには、Ctrl + c. を入力します。キャプチャを完全に削除するには、このコマンドの no 形式を使用します。このオプションは、raw-data 、switch 、 および asp-drop キャプチャにのみ適用されます。cluster exec capture コマンドを使用する場合、このオプションはサポートされません。
|
reinject-hide
|
(オプション)再注入されたパケットがキャプチャされないことを指定します。クラスタリング環境でだけ適用されます。
|
stop
|
(任意)手動でキャプチャを削除せずに停止します。キャプチャを開始するには、このコマンドの no 形式を使用します。
|
tls-proxy
|
(オプション)復号化された着信データおよび発信データを 1 つ以上のインターフェイス上の TLS プロキシからキャプチャします。
|
trace trace_count
|
(任意)パケット トレース情報、およびキャプチャするパケット数をキャプチャします。このオプションをアクセス リストとともに使用すると、トレース パケットがデータ パスに挿入されるので、パケットが想定どおりに処理されているかどうかを判別できます。
|
type
|
(任意)キャプチャされるデータのタイプを指定します。
|
user webvpn-user
|
(任意)WebVPN キャプチャのユーザー名を指定します。
|
webvpn
|
(任意)特定の WebVPN 接続の WebVPN データをキャプチャします。
|
コマンド デフォルト
デフォルトの設定は次のとおりです。
-
デフォルトの type は raw-data です。
-
デフォルトの buffer size は 512 KB です。
-
デフォルトのイーサネット タイプは IP パケットです。
-
デフォルトの packet-length は 1518 バイトです。
-
デフォルトの direction は入力です。
コマンド モード
次の表に、コマンドを入力できるモードを示します。
コマンドモード
|
ファイアウォールモード
|
セキュリティコンテキスト
|
ルーテッド
|
トランスペアレント
|
シングル
|
マルチ
|
コンテキスト
|
システム
|
特権 EXEC
|
|
|
|
|
|
コマンド履歴
リリース
|
変更内容
|
6.2(1)
|
このコマンドが追加されました。
|
7.0(1)
|
このコマンドは、キーワード type asp-drop 、type isakmp 、type raw-data 、および type webvpn を含むように変更されました。
|
7.0(8)
|
ASA がドロップするパケットをすべてキャプチャするように、all オプションが追加されました。
|
7.2(1)
|
このコマンドは、オプション trace trace_count、match prot、real-time, host ip、any 、 mask、および operator を含むように変更されました。
|
8.0(2)
|
キャプチャした内容にパスを更新するように変更されました。
|
8.4(1)
|
新しい type キーワードの ikev1 と ikev2 が追加されました。
|
8.4(2)
|
IDS の出力に追加の詳細が追加されました。
|
8.4(4.1)
|
バックプレーン経由の ASA CX モジュールへのトラフィックをサポートするために asa_dataplane オプションが追加されました。
|
9.0(1)
|
cluster, cluster exec, および reinject-hide キーワードが追加されました。新しい type オプション lacp が追加されました。ISAKMP についてマルチ コンテキスト モードのサポートが追加されました。
|
9.1(3)
|
ASA CX バックプレーンでキャプチャされたパケットのフィルタリングが asa_dataplane オプションによってサポートされるようになりました。
|
9.2(1)
|
ASA FirePOWER モジュールをサポートするように asa_dataplane オプションが拡張されました。
|
9.3(1)
|
SGT およびイーサネットタギング機能をサポートするために inline-tag tag のキーワードと引数のペアが追加されました。
|
9.6(2)
|
type asp-drop のパケットキャプチャは、ACL と一致フィルタリングをサポートします。
|
9.7(1)
|
パケットキャプチャを手動で停止したり開始したりするために、stop キーワードを追加しました。
|
9.8(1)
|
このコマンドは、ボックス クラッシュ時にすべてのアクティブなキャプチャの内容をフラッシュまたはディスク上のファイルに保存するように更新されました。
|
9.9(1)
|
クラスタリングの永続的トレースおよび復号化されたパケットのキャプチャがサポートされるようになりました。新しいオプション:persist および include-decrypted が追加されました。
また、IPX は 3 つの異なるイーサネットタイプに対応するため、ethernet-type ipx が削除されました。代わりに、キャプチャする IPX タイプの 16 進数値を使用します。
|
9.10(1)
|
match オプションで IPv4 と IPv6 のネットワーク トラフィックをそれぞれキャプチャするために、any4 および any6 キーワードを追加しました。
|
9.12(1)
|
クラスタインターフェイスで制御パケットをキャプチャするために、cp-cluster を追加しました。
|
9.18(1)
|
リアルタイムのスイッチパケットキャプチャを有効にする real-time キーワードが含まれています。
|
9.20(1)
|
egress 、ingress 、または both 方向に流れるスイッチトラフィックをキャプチャするために direction キーワードが追加されました。このキーワードは、Cisco Secure Firewall 4200 モデルデバイスに対してのみ使用できます。
|
使用上のガイドライン
パケット キャプチャは、接続の問題のトラブルシューティングまたは不審なアクティビティのモニタリングを行うときに役立ちます。複数のキャプチャを作成できます。capture コマンドは、実行コンフィギュレーションには保存されません。また、フェールオーバー時にスタンバイユニットにコピーされません。
ASA では、通過するすべての IP トラフィックを追跡でき、すべての管理トラフィック(SSH トラフィック、Telnet トラフィックなど)を含む、着信するすべての IP トラフィックをキャプチャできます。
ASA のアーキテクチャは、パケット処理のための異なる 3 セットのプロセッサで構成されています。このアーキテクチャに起因して、キャプチャ機能の性能に一定の制限が加わります。通常は、ASA のパケット転送機能の大部分が 2 個のフロントエンド
ネットワーク プロセッサで処理され、アプリケーション インスペクションが必要なパケットに限り、コントロールプレーン汎用プロセッサに送信されます。パケットがセッション管理パス ネットワーク プロセッサに送信されるのは、高速パス プロセッサで処理されないセッションがある場合だけです。
ASA によって転送またはドロップされるすべてのパケットがこの 2 つのフロントエンド ネットワーク プロセッサを通るため、パケットキャプチャ機能はこれらのネットワークプロセッサに実装されています。したがって、該当するトラフィック インターフェイス用の適切なキャプチャが設定されていれば、ASA
を通過するすべてのパケットをこれらのフロントエンドプロセッサでキャプチャできます。入力側では、ASA インターフェイスに到着した時点でパケットがキャプチャされ、出力側では、ネットワークに送信される直前でパケットがキャプチャされます。
(注)
|
WebVPN キャプチャをイネーブルにすると、ASA のパフォーマンスに影響します。トラブルシューティングに必要なキャプチャ ファイルを生成した後、必ずキャプチャを無効化してください。
|
キャプチャの保存
ASA 上のすべてのアクティブなキャプチャの内容は、ボックスがクラッシュしたときに保存されます。
トラブルシューティング プロセスの一部としてキャプチャをアクティブ化する場合は、次の点に注意する必要があります。
アクティブなキャプチャの内容を保存するファイルの名前は、次の形式となります。
[<context_name>.]<capture_name>.pcap
context_name は、マルチコンテキスト モードでキャプチャがアクティブになっているユーザー コンテキストの名前を示します。シングル コンテキスト モードでは、context_name は適用されません。
capture_name は、アクティブ化されたキャプチャの名前を示します。
キャプチャの保存は、コンソールまたはクラッシュ ダンプの前に行われます。これにより、33 MB のキャプチャ バッファでクラッシュのダウンタイムが約 5 秒増加します。キャプチャしたコンテンツをファイルにコピーするのは簡単なプロセスなので、ネストされたクラッシュのリスクは最小限です。
キャプチャの表示
-
CLI でパケットキャプチャを表示するには、show capture name コマンドを使用します。
-
キャプチャをファイルに保存するには、copy capture コマンドを使用します。
-
パケットキャプチャ情報を Web ブラウザで表示するには、https://ASA-ip-address/admin/capture/capture_name[/pcap] コマンドを使用します。
ユーザー名とパスワードの入力を求められます。ローカルデータベースにユーザー名を追加するには、username コマンドを参照してください。
pcap キーワードを指定すると、libpcap 形式のファイルが Web ブラウザにダウンロードされ、Web ブラウザを使用してこのファイルを保存できます(libcap ファイルは、TCPDUMP または Ethereal で表示できます)。
バッファの内容を TFTP サーバーに ASCII 形式でコピーする場合、パケットの詳細および 16 進ダンプは表示されず、ヘッダーだけが表示されます。詳細および 16 進ダンプを表示するには、バッファを PCAP 形式で転送し、TCPDUMP
または Ethereal で読み取る必要があります。
キャプチャの停止と開始
パケットをバッファから削除することなく、パケット キャプチャを停止することができます。キャプチャ停止のステータスが表示されます。キャプチャされたパケットは、バッファ内に保持されます。
パケット キャプチャを手動で停止するには、次のコマンドを使用します。
capture name stop
パケット キャプチャを開始するには、次のコマンドを使用します。
no capture name stop
キャプチャの削除
キーワードを指定せずに no capture を入力すると、キャプチャが削除されます。キャプチャを保持するには、access-list または interface キーワードを指定します。キャプチャは指定した ACL インターフェイスから分離されて保持されます。
リアルタイム操作
リアルタイム表示の進行中には、キャプチャに関するあらゆる操作を実行できません。低速のコンソール接続で real-time キーワードを使用すると、パフォーマンスが考慮されて、多数のパケットが非表示になる場合があります。バッファの固定の制限は、1000 パケットです。バッファがいっぱいになると、カウンタはキャプチャしたパケットで維持されます。別のセッションを開く場合、no capture real-time コマンドを入力して、リアルタイム表示を無効にできます。
クラスタ
capture コマンドの前に cluster exec を指定すると、あるユニットで capture コマンドを発行し、そのコマンドを他のすべてのユニットで同時に実行できます。クラスタ全体のキャプチャを実行した後、同じキャプチャファイルをクラスタ内のすべてのユニットから同時に TFTP サーバーにコピーするには、マスターユニットで cluster exec copy コマンドを入力します。
ciscoasa# cluster exec capture
capture_name arguments
ciscoasa# cluster exec copy
/pcap capture
: cap_name
tftp
://location
/path
/filename
.pcap
複数の PCAP ファイル(各ユニットから 1 つずつ)が TFTP サーバーにコピーされます。宛先のキャプチャ ファイル名には自動的にユニット名が付加され、filename_A.pcap、filename_B.pcap などとなります。この例では、A
と B がクラスタ ユニット名です。
トレースをクラスタ ユニットでキャプチャする場合、トレースは、バッファから手動でクリアされるまで、各クラスタ ノードに永続します。復号化された IPsec パケットは、ASA に入るとキャプチャされます。キャプチャされたパケットには、通常のトラフィックとカプセル化解除されたトラフィックの両方が含まれます。
(注)
|
ファイル名の末尾にユニット名を追加すると、別の宛先名が生成されます。
|
制限事項
次に、キャプチャ機能の制限の一部を示します。制限の大部分は、ASA のアーキテクチャが本質的に分散型であることと、ASA で使用するハードウェアアクセラレータを原因としています。
-
コンテキスト内のクラスタ制御リンクでキャプチャを設定できます。この場合、そのクラスタ制御リンクで送信されるコンテキストに関連付けられているパケットだけがキャプチャされます。
-
共有 VLAN には、次のガイドラインが適用されます。
-
VLAN ごとに設定できるキャプチャは 1 つだけです。共有 VLAN の複数のコンテキストでキャプチャを設定した場合は、最後に設定したキャプチャだけが使用されます。
-
最後に設定した(アクティブ)キャプチャを削除した場合は、別のコンテキストで事前に設定したキャプチャがあっても、アクティブになるキャプチャはありません。キャプチャをアクティブにするには、キャプチャを削除して追加し直す必要があります。
-
キャプチャを指定したインターフェイス(キャプチャ アクセス リストと一致するインターフェイス)に着信するすべてのトラフィックがキャプチャされます。これには、共有 VLAN の他のコンテキストへのトラフィックが含まれます。
-
したがって、ある VLAN のコンテキスト A でのキャプチャをイネーブルにしたときに、その VLAN がコンテキスト B でも使用される場合は、コンテキスト A とコンテキスト B の両方の入力トラフィックがキャプチャされます。
-
出力トラフィックの場合は、アクティブ キャプチャのあるコンテキストのトラフィックだけがキャプチャされます。唯一の例外は、ICMP 検査をイネーブルにしない(したがって、ICMP トラフィックのセッションが高速パスにない)場合です。この場合は、共有
VLAN のすべてのコンテキストで入力と出力の ICMP トラフィックがキャプチャされます。
-
キャプチャを設定する場合、通常は、キャプチャする必要のあるトラフィックを照合するアクセス リストを設定します。トラフィック パターンを照合するアクセス リストの設定が終われば、キャプチャを定義し、キャプチャを設定するインターフェイスとともに、このアクセス
リストをキャプチャに関連付ける必要があります。キャプチャは、アクセス リストおよびインターフェイスと、IPv4 トラフィックをキャプチャするためのキャプチャを関連付けた場合に限り機能することに注意してください。IPv6 トラフィックの場合、アクセス
リストは不要です。
-
ASA CX モジュール トラフィックの場合、キャプチャされたパケットに含まれている追加 AFBP ヘッダーを、PCAP ビューアが認識しないことがあります。このようなパケットを表示するには、適切なプラグインを使用してください。
-
インライン SGT タグ付きパケットの場合、キャプチャされたパケットに含まれている追加 CMD ヘッダーを、PCAP ビューアが認識しないことがあります。
-
受信側インターフェイスがないためグローバル インターフェイスがない場合、バックプレーン上で送信されるパケットは、システム コンテキストの制御パケットとして扱われます。これらのパケットはアクセス リスト チェックをバイパスし、常にキャプチャされます。この動作は、シングル
モードとマルチ コンテキスト モードの両方に適用されます。
-
特定の asp-drop をキャプチャする場合に適切な理由を表示するには、show capture コマンドを使用します。ただし、show capture コマンドは、すべての asp-drop をキャプチャする場合は適切な理由を表示しません。
例
パケットをキャプチャするには、次のコマンドを入力します。
ciscoasa# capture captest interface inside
ciscoasa# capture captest interface outside
Web ブラウザで、発行した「captest」という名前の capture コマンドの内容を次の場所に表示できます。
https://171.69.38.95/admin/capture/captest
libpcap ファイル(Web ブラウザが使用)をローカル マシンにダウンロードするには、次のコマンドを入力します。
https://171.69.38.95/capture/http/pcap
次に、ASA ボックスがクラッシュしたときにシングルモードでパケットをキャプチャする例を示します。
ciscoasa# capture 123 interface inside
キャプチャ「123」のコンテンツは、123.pcap ファイルとして保存されます。
次に、ASA ボックスがクラッシュしたときにマルチモードでパケットをキャプチャする例を示します。
ciscoasa# capture 456 interface inside
「管理」コンテキスト内のキャプチャ「456」のコンテンツは、admin.456.pcap ファイルとして保存されます。
次に、外部ホスト 171.71.69.234 から内部 HTTP サーバーにトラフィックがキャプチャされる例を示します。
ciscoasa# access-list http permit tcp host 10.120.56.15 eq http host 171.71.69.234
ciscoasa# access-list http permit tcp host 171.71.69.234 host 10.120.56.15 eq http
ciscoasa# capture http access-list http packet-length 74 interface inside
次に、ARP パケットをキャプチャする例を示します。
ciscoasa# capture arp ethernet-type arp interface outside
次に、5 つのトレースパケットをデータストリームに挿入する例を示します。ここで、access-list 101 は、TCP プロトコル FTP と一致するトラフィックを定義します。
hostname# capture ftptrace interface outside access-list 101 trace 5
トレースされたパケットおよびパケット処理に関する情報をわかりやすく表示するには、show capture ftptrace コマンドを使用します。
次の例では、キャプチャされたパケットをリアルタイムで表示する方法を示します。
ciscoasa# capture test interface outside real-time
Warning: Using this option with a slow console connection may result in an excess amount of non-displayed packets due to performance limitations.
Use ctrl-c to terminate real-time capture.
10 packets displayed
12 packets not displayed due to performance limitations
次の例では、キャプチャする必要のある IPv4 トラフィックを照合する拡張アクセス リストを設定する方法を示します。
ciscoasa (config)# access-list capture extended permit ip any any
次の例では、キャプチャを設定する方法を示します。
ciscoasa (config)# capture name access-list acl_name interface interface_name
デフォルトでは、キャプチャを設定すると、512 KB のサイズのリニア キャプチャ バッファが作成されます。オプションで循環バッファを設定できます。デフォルトでは、パケットの 68 バイトだけがバッファにキャプチャされます。オプションでこの値を変更できます。
次に、事前に設定されたキャプチャ アクセス リストを使用し、outside インターフェイスに適用される「ip-capture」というキャプチャを作成する例を示します。
ciscoasa (config)# capture ip-capture access-list capture interface outside
次に、Cisco Secure Firewall 3100 の外部インターフェイスに「switch-capture」というキャプチャを作成する例を示します。
ciscoasa (config)# capture switch-capture switch interface outside drop ?
exec mode commands/options:
disable Disable capturing dropped packets from switch
mac-filter To capture switch mac-filter drop
ciscoasa(config)# capture switch-capture switch interface outside drop mac-filter
次の例では、キャプチャを表示する方法を示します。
ciscoasa (config)# show capture name
次の例では、キャプチャを終了する一方でバッファを保持する方法を示します。
ciscoasa (config)# no capture name access-list acl_name interface interface_name
次の例では、キャプチャを終了し、バッファを削除する方法を示します。
ciscoasa (config)# no capture name
次の例では、シングル モードでバックプレーンでキャプチャされたトラフィックをフィルタリングする方法を示します。
ciscoasa# capture x interface asa_dataplane access-list any4
ciscoasa# capture y interface asa_dataplane match ip any any
(注)
|
制御パケットは、アクセス リストを指定した場合にも、シングル モードでキャプチャされます。
|
次の例では、マルチ コンテキスト モードでバックプレーンでキャプチャされたトラフィックをフィルタリングする方法を示します。
ユーザー コンテキストでの使用方法:
ciscoasa (contextA)# capture x interface asa_dataplane access-list any4
ciscoasa (contextA)# capture y interface asa_dataplane match ip any any
システム コンテキストでの使用方法:
ciscoasa# capture z interface asa_dataplane
(注)
|
マルチコンテキストモードでは、access-list オプションと match オプションはシステムコンテキストで使用できません。
|
例
クラスタリングでのキャプチャ
クラスタ内のすべてのユニットでのキャプチャをイネーブルにするには、これらの各コマンドの前に cluster exec キーワードを追加します。
次の例では、クラスタリング環境の LACP キャプチャを作成する方法を示します。
ciscoasa (config)# capture lacp type lacp interface gigabitEthernet0/0
次の例では、クラスタリング リンクでの制御パス パケットのキャプチャを作成する方法を示します。
ciscoasa (config)# cap cp interface cluster match udp any eq 49495 any
ciscoasa (config)# cap cp interface cluster match udp any any eq 49495
次の例では、クラスタリング リンクでのデータ パス パケットのキャプチャを作成する方法を示します。
ciscoasa (config)# access-list cc1 extended permit udp any any eq 4193
ciscoasa (config)# access-list cc1 extended permit udp any eq 4193 any
ciscoasa (config)# capture dp interface cluster access-list ccl
次の例では、クラスタを通過するデータ パス トラフィックをキャプチャする方法を示します。
ciscoasa (config)# capture abc interface inside match tcp host 1.1.1.1 host 2.2.2.2 eq www
ciscoasa (config)# capture abc interface inside match dup host 1.1.1.1 any
ciscoasa (config)# capture abc interface inside access-list xxx
次の例では、指定した実際の発信元から実際の宛先へのフローに対する論理アップデート メッセージをキャプチャし、指定した実際の発信元から実際の宛先へ CCL を介して転送されるパケットをキャプチャする方法を示します。
ciscoasa (config)# access-list dp permit
real src real dst
次の例では、特定タイプのデータプレーンメッセージ(たとえば ICMP エコー要求/応答)のうち、ある ASA から別の ASA に転送されたものを、メッセージタイプに応じた match キーワードまたはアクセスリストを使用してキャプチャする方法を示します。
ciscoasa (config)# capture capture_name interface cluster access-list match icmp any any
次の例では、クラスタリング環境内のクラスタ制御リンク上でアクセス リスト 103 を使用してキャプチャを作成する方法を示します。
ciscoasa (config)# access-list 103 permit ip A B
ciscoasa (config)# capture example1 interface cluster
前の例で、A と B が CCL インターフェイスの IP アドレスである場合は、この 2 つのユニット間で送信されるパケットだけがキャプチャされます。
A および B が、デバイスを通過するトラフィックの IP アドレスである場合は、次のことが当てはまります。
-
転送されたパケットは、通常どおりにキャプチャされます。ただし、送信元および宛先の IP アドレスがアクセス リストに一致することが条件です。
-
データ パス ロジック アップデート メッセージがキャプチャされるのは、そのメッセージが A と B の間のフローに対するものであるか、特定のアクセス リスト(たとえば、access-list 103)に対するものである場合です。埋め込まれたフローの
5 タプルが一致するものがキャプチャされます。
-
UDP パケットの送信元と宛先のアドレスは CCL のアドレスですが、このパケットがフローを更新するためのものであり、そのフローにアドレス A および B が関連付けられている場合は、このパケットもキャプチャされます。つまり、パケットに埋め込まれているアドレス
A および B が一致している限り、そのパケットもキャプチャされます。
次の例では、persistent オプションを使用してキャプチャを設定する方法を示します。
cluster2-asa5585a(config)# cluster exec capture test interface outside trace persist
a(LOCAL):*************************************************************
cluster2-asa5585a(config)#
これで、トラフィックを送信できるようになりました。
cluster2-asa5585a(config)# cluster exec show packet-tracer
a(LOCAL):*************************************************************
tracer 29/25 (allocate/freed), handle 29/25 (allocated/freed), error 0
======= Tracer origin-id a:23, hop 0 =======
packet-id: Protocol: 0 src-port: 0 dst-port: 0
Phase: 1
Type: CAPTURE
Subtype:
Result: ALLOW
Config:
Additional Information:
MAC Access list
Phase: 2
Type: ACCESS-LIST
Subtype:
Result: DROP
Config:
Implicit Rule
Additional Information:
MAC Access list
Result:
input-interface: outside
input-status: up
input-line-status: up
Action: drop
Drop-reason: (l2_acl) FP L2 rule drop
次の例では、メモリの一部を開放するためには、キャプチャされた永続的なトレースをボックスからクリアする必要があることが示されています。
ciscoasa# cluster exec clear packet-trace
次に、include-decrypted オプションを使用してキャプチャを設定する例を示します。
cluster2-asa5585a(config)# cluster exec show capture
a(LOCAL):*************************************************************
capture in type raw-data trace interface outside include-decrypted [Capturing – 588 bytes]
capture out type raw-data trace interface outside include-decrypted [Capturing - 420 bytes]
cluster2-asa5585a(config)#
これで、IPSec トンネルを介して ICMP トラフィックを送信できるようになりました。説明したとおり、キャプチャ コマンドは復号化された ICMP パケットを取得します。
cluster2-asa5585a(config)# cluster exec show capture in | i icmp
a(LOCAL):*************************************************************
b:********************************************************************
cluster2-asa5585a(config)# cluster exec show capture out | i icmp
a(LOCAL):*************************************************************
b:********************************************************************
cluster2-asa5585a(config)# cluster exec show capture in | i icmp
a(LOCAL):*************************************************************
8: 07:22:57.065014 802.1Q vlan#212 P0 211.1.1.1 > 213.1.1.2: icmp: echo request
b:********************************************************************
cluster2-asa5585a(config)# cluster exec show capture out | i icmp
a(LOCAL):*************************************************************
10: 07:22:57.068004 802.1Q vlan#214 P0 213.1.1.2 > 211.1.1.1: icmp: echo reply
b:********************************************************************
cluster2-asa5585a(config)#
次に、スイッチの出力トラフィックキャプチャを作成して開始する例を示します。
ciscoasa(config)# capture switch_cap switch interface gigabitEthernet0/0 direction ?
exec mode commands/options:
both To capture switch bi-directional traffic
egress To capture switch egressing traffic
ingress To capture switch ingressing traffic
ciscoasa(config)# capture switch_cap switch interface gigabitEthernet0/0 direction egress
ciscoasa(config)# no capture switch_cap switch stop