パケットスニッフィングおよびネットワーク障害の切り分けのためにパケットキャプチャ機能を有効にするには、capture コマンドを使用します。パケットキャプチャ機能をディセーブルにするには、このコマンドの no 形式を使用します。
ネットワークトラフィックをキャプチャします。
capture capture_name [ type { asp-drop [ all | drop-code ] | raw-data | isakmp [ ikev1 | ikev2 ] | inline-tag [ tag ] }] { interface { interface_name | data-plane | management-plane | cplane } } [ buffer buf_size ] [ file-size file_size ] [ ethernet-type type ] [ headers-only ] [ packet-length bytes ] [ circular-buffer ] [ trace [ trace-count number ] [ match protocol { host source_ip | source_ip mask | any4 | any6 } [ operator src_port ] { host dest_ip | dest_ip mask | any4 | any6 } [ operator dest_port ]]
クラスタ制御リンク トラフィックをキャプチャします。
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 ] [ trace [ trace-count number ]] [ real-time [ dump ] [ detail ]] [ trace ] [ match protocol { host source_ip | source_ip mask | any4 | any6 } [ operator src_port ] { host dest_ip | dest_ip mask | any4 | any6 } [ operator dest_port ]]
クラスタ全体のパケットをキャプチャします。
cluster exec capture capture_name [ persist ] [ include-decrypted ]
キャプチャからパケットキャプチャまたはパラメータを削除します。キャプチャを完全に削除することが目的の場合は、パラメータを省略します。
no capture capture_name [ arguments ]
パケットキャプチャを削除せずに停止します。
capture capture_name stop
構文の説明
any4
|
単一の IP アドレスおよびマスクではなく、任意の IPv4 アドレスを指定します。
|
any6
|
単一の IP アドレスおよびマスクではなく、任意の IPv6 アドレスを指定します。
|
all
|
高速セキュリティ パスでドロップされるすべてのパケットをキャプチャします。
|
asp-drop drop-code
|
(任意)高速セキュリティ パスでドロップされるパケットをキャプチャします。drop-code は、高速セキュリティ パスでドロップされるトラフィックのタイプを指定します。drop-code のリストについては、CLI ヘルプを参照してください。このキーワードは、packet-length 、circular-buffer 、および buffer キーワードと一緒に入力できますが、interface または ethernet-type キーワードと一緒には入力できません。クラスタでは、ドロップされた、ユニット間の転送データ パケットもキャプチャされます。
|
buffer buf_size
|
(任意)パケットの保存に使用するバッファのサイズをバイト単位で定義します。このバイト数のバッファがいっぱいになると、パケット キャプチャは停止します。クラスタ内で使用されるときは、これはユニットあたりのサイズです(全ユニットの合計ではありません)。サポートされる最大バッファサイズは
32 MB です。
バッファサイズとファイルサイズのオプションは同時に使用できません。
|
capture_name
|
パケット キャプチャの名前を指定します。複数のトラフィックのタイプをキャプチャするには、複数の capture ステートメントで同じ名前を使用します。show capture コマンドを使用してキャプチャのコンフィギュレーションを表示すると、すべてのオプションが 1 行にまとめられます。
|
data-plane
|
データプレーン インターフェイスでキャプチャされるパケットを指定します。
|
management-plane
|
管理インターフェイスでキャプチャされるパケットを指定します。
|
circular-buffer
|
(任意)バッファがいっぱいになったとき、バッファを先頭から上書きします。
|
ethernet-type type
|
(任意)キャプチャするイーサネット タイプを選択します。サポートされるイーサネット タイプには、8021Q、ARP、IP、IP6、IPX、LACP、PPPOED、PPPOES、RARP および VLAN などがあります。802.1Q タイプと
VLAN タイプでは例外が発生します。802.1Q タグは自動的にスキップされ、照合には内部イーサネット タイプが使用されます。
|
file-size file-size
|
(任意)file-size はディスク上のファイルにパケットをキャプチャするように指定します。
file-size は、キャプチャファイルのサイズを 32 MB から 10 GB の範囲で指定します。
キャプチャファイルは、フラッシュメモリ (disk0:/) に capture_name.pcap という名前で作成されます。
file-size が設定されると、ハードディスクメモリ(ファイル)を使用して、キャプチャバッファでキャプチャされたデータが書き込まれます。キャプチャされたデータは、ファイル名に基づいてディスクに保存されます。
バッファサイズとファイルサイズのオプションは同時に使用できません。
|
headers-only
|
(任意)データなしでキャプチャするパケットのレイヤ 2 およびレイヤ 3/4 ヘッダーを選択します。
|
host source_ip , dest_ip
|
パケットの送信先または送信元ホストの単一の IP アドレスを指定します。
|
include-decrypted
|
(オプション)ファイアウォールデバイスに入った時点で、通常のトラフィックと復号化されたトラフィックの両方を含む復号化された IPsec パケットをキャプチャします。また、SSL 復号トラフィックのパケットもキャプチャします。ただし、パケットは
VTI インターフェイスでのみ復号化された形式で表示されるため、このオプションは VTI トンネルには適用できません。暗号化マップ VPN のように外部ではありません。
|
inline-tag tag
|
特定の SGT 値のタグを指定するか、または未指定のままにしてすべての SGT 値のタグ付きパケットをキャプチャします。
|
interface interface_name
|
パケット キャプチャを使用するインターフェイスの名前を設定します。type asp-drop を除いて、パケットをキャプチャするにはインターフェイスを設定する必要があります。複数の capture コマンドで同じ名前を使用して、複数のインターフェイスを設定できます。管理プレーン上のパケットをキャプチャするには、interface キーワードを使用し、インターフェイス名として「asa_mgmt_plane 」を指定します。インターフェイス名として「cluster 」を指定すると、クラスタ制御リンクインターフェイスのトラフィックをキャプチャできます。データインターフェイス上で Management Center アクセスを有効にした場合に内部バックプレーン インターフェイスでパケットをキャプチャするには、nlp_int_tap を指定します。キャプチャのタイプとして lacp が設定されている場合は、インターフェイス名は物理名です。
|
ikev1 , ikev2
|
IKEv1 または IKEv2 プロトコル情報だけをキャプチャします。
|
isakmp
|
(オプション)VPN 接続の ISAKMP トラフィックをキャプチャします。ISAKMP サブシステムは、上位層プロトコルにアクセスできません。このキャプチャは、PCAP パーサーを満足させるために物理、IP、および UDP の各レイヤを 1
つにまとめた疑似キャプチャです。このピア アドレスは、SA 交換から取得され、IP レイヤに保存されます。
|
lacp
|
(オプション)LACP トラフィックをキャプチャします。設定されている場合は、インターフェイス名は物理インターフェイス名です。
|
mask
|
IP アドレスのサブネットマスク。たとえば、クラス C マスクの場合は 255.255.255.0 です。
|
match protocol
|
5 タプルが一致するパケットを指定し、キャプチャされるこれらのパケットのフィルタリングを許可します。1 行に最大 3 回このキーワードを使用できます。
|
operator src_port , dest_port
|
(任意)送信元または宛先で使用されるポート番号を照合します。使用できる演算子は、次のとおりです。
-
lt :小なり
-
gt :大なり
-
eq :等しい
-
neq :等しくない
-
range :範囲
|
packet-length bytes
|
(任意)キャプチャ バッファに保存する各パケットの最大バイト数を設定します。
|
persit
|
(オプション)クラスタユニットで永続的なパケットをキャプチャします。
|
raw-data
|
(任意)着信パケットおよび発信パケットを 1 つ以上のインターフェイスでキャプチャします。
|
stop
|
パケットキャプチャを削除せずに停止します。キャプチャを再開するには、このオプションを指定したこのコマンドの no 形式を使用します。
|
trace trace_count
|
(任意)パケット トレース情報、およびキャプチャするパケット数をキャプチャします。このオプションをアクセス リストとともに使用すると、トレース パケットがデータ パスに挿入されるので、パケットが想定どおりに処理されているかどうかを判別できます。
|
type
|
(任意)キャプチャされるデータのタイプを指定します。
|
コマンド デフォルト
デフォルトの設定は次のとおりです。
-
デフォルトの type は raw-data です。
-
デフォルトのbuffer サイズ は 512 KB です。
-
デフォルトのイーサネット タイプは IP パケットです。
-
デフォルトの packet-length は 1518 バイトです。
コマンド履歴
リリース
|
変更内容
|
6.1
|
このコマンドが導入されました。
|
6.2.1
|
このコマンドは、ボックス クラッシュ時にすべてのアクティブなキャプチャの内容をフラッシュまたはディスク上のファイルに保存するように更新されました。
|
6.2.3
|
オプション asa_mgmt_plane および asa_dataplane の名前がそれぞれ management-plane および data-plane に変更されました。
|
6.2.3.x
|
IPv4 および IPv6 ネットワークトラフィックをそれぞれキャプチャするために、any4 および any6 オプションが導入されました。
|
6.3
|
オプション [ file-size file-size] を使用すると、ファイルサイズを MB 単位でキャプチャできます(32 〜 10000)。
|
6.7
|
interface nlp_int_tap インターフェイス名は、データインターフェイス上で Management Center アクセスを有効にした場合に内部バックプレーン インターフェイスでパケットをキャプチャするために追加されました。
|
使用上のガイドライン
パケット キャプチャは、接続の問題のトラブルシューティングまたは不審なアクティビティのモニタリングを行うときに役立ちます。複数のキャプチャを作成できます。capture コマンドは、実行コンフィギュレーションには保存されません。また、ハイアベイラビリティ時にスタンバイユニットにコピーされません。
脅威に対する防御 デバイスでは、通過するすべての IP トラフィックを追跡でき、すべての管理トラフィック(SSH トラフィック、Telnet トラフィックなど)を含む、着信するすべての IP トラフィックをキャプチャできます。
脅威に対する防御 のアーキテクチャは、パケット処理のための異なる 3 セットのプロセッサで構成されています。このアーキテクチャに起因して、キャプチャ機能の性能に一定の制限が加わります。通常は、脅威に対する防御 デバイスのパケット転送機能の大部分が 2 個のフロントエンド ネットワーク プロセッサで処理され、アプリケーション インスペクションが必要なパケットに限り、コントロールプレーン汎用プロセッサに送信されます。パケットがセッション管理パス ネットワーク
プロセッサに送信されるのは、高速パス プロセッサで処理されないセッションがある場合だけです。
脅威に対する防御 デバイスによって転送またはドロップされるすべてのパケットがこの 2 つのフロントエンド ネットワーク プロセッサを通るため、パケットキャプチャ機能はこれらのネットワークプロセッサに実装されています。したがって、該当するトラフィック インターフェイス用の適切なキャプチャが設定されていれば、脅威に対する防御 デバイスを通過するすべてのパケットをこれらのフロントエンドプロセッサでキャプチャできます。入力側では、インターフェイスに到着した時点でパケットがキャプチャされ、出力側では、ネットワークに送信される直前でパケットがキャプチャされます。
キャプチャされたデータを保存するため、パケットキャプチャはキャプチャされたデータをその場で自動的に物理ストレージに書き込むので、copy コマンドを使用する必要がありません。キャプチャサイズは最大 10 GB までサポートされます。100 MB を超えるキャプチャは自動的に圧縮されます。
キャプチャの保存
脅威に対する防御 デバイス上のすべてのアクティブなキャプチャの内容は、ボックスがクラッシュしたときに保存されます。トラブルシューティング プロセスの一部としてキャプチャをアクティブ化する場合は、次の点に注意する必要があります。
アクティブなキャプチャの内容を保存するファイルの名前は、次の形式となります。
[<context_name>.]<capture_name>.pcap
context_name は、マルチコンテキスト モードでキャプチャがアクティブになっているユーザー コンテキストの名前を示します。シングル コンテキスト モードでは、context_name は適用されません。
capture_name は、アクティブ化されたキャプチャの名前を示します。
キャプチャの保存は、コンソールまたはクラッシュ ダンプの前に行われます。これにより、33 MB のキャプチャ バッファでクラッシュのダウンタイムが約 5 秒増加します。キャプチャしたコンテンツをファイルにコピーするのは簡単なプロセスなので、ネストされたクラッシュのリスクは最小限です。
キャプチャの表示
パケットキャプチャを表示するには、show capture name コマンドを使用します。キャプチャをファイルに保存するには、copy capture コマンドを使用します。パケット キャプチャ情報を Web ブラウザで表示するには、https://FTP-ip-address/admin/capture/capture_name[/pcap] コマンドを使用します。pcap キーワードを指定すると、libpcap 形式のファイルが Web ブラウザにダウンロードされ、Web ブラウザを使用してこのファイルを保存できます(libcap ファイルは、TCPDUMP または Ethereal で表示できます)。
バッファの内容を TFTP サーバーに ASCII 形式でコピーする場合、パケットの詳細および 16 進ダンプは表示されず、ヘッダーだけが表示されます。詳細および 16 進ダンプを表示するには、バッファを PCAP 形式で転送し、TCPDUMP
または Ethereal で読み取る必要があります。
キャプチャの削除
キーワードを指定せずに no capture を入力すると、キャプチャが削除されます。キャプチャを保持するには、interface キーワードを指定します。キャプチャは指定したインターフェイスから分離されて保持されます。
クラスタ
capture コマンドの前に cluster exec を指定すると、あるユニットで capture コマンドを発行し、そのコマンドを他のすべてのユニットで同時に実行できます。クラスタ全体のキャプチャを実行した後、同じキャプチャファイルをクラスタ内のすべてのユニットから同時に TFTP サーバーにコピーするには、マスターユニットで cluster exec copy コマンドを入力します。
cluster exec capture capture_name arguments
cluster exec copy /pcap capture: cap_name tftp://location/path/filename.pcap
複数の PCAP ファイル(各ユニットから 1 つずつ)が TFTP サーバーにコピーされます。宛先のキャプチャ ファイル名には自動的にユニット名が付加され、filename_A.pcap、filename_B.pcap などとなります。この例では、A
と B がクラスタ ユニット名です。
(注)
|
ファイル名の末尾にユニット名を追加すると、別の宛先名が生成されます。
|
制限事項
次に、キャプチャ機能の制限の一部を示します。制限の大部分は、本質的に分散的な 脅威に対する防御 のアーキテクチャと、脅威に対する防御 デバイスで使用するハードウェアアクセラレータによるものです。
-
インライン SGT タグ付きパケットの場合、キャプチャされたパケットに含まれている追加 CMD ヘッダーを、PCAP ビューアが認識しないことがあります。
-
パケット内の 802.1Q タグが、設定されたサブインターフェイスのものと異なる場合、そのようなパケットはキャプチャされません。パケットは名前付きインターフェイスに関連付けられていないため、無視されます。
-
受信側インターフェイスがないためグローバルインターフェイスがない場合、バックプレーン上で送信されるパケットは、制御パケットとして扱われます。これらのパケットはアクセス リスト チェックをバイパスし、常にキャプチャされます。
-
特定の asp-drop をキャプチャする場合に適切な理由を表示するには、show capture コマンドを使用します。ただし、show capture コマンドは、すべての asp-drop をキャプチャする場合は適切な理由を表示しません。
file-size オプションを使用したパケットキャプチャ機能には、次の制限があります。
-
Firepower 4100/9300 シリーズのみに適用されます。
-
既存のキャプチャには、ファイルサイズオプションは追加できません。
-
copy コマンドはサポートされていません。
-
リアルタイム、トレース、リニア、および循環バッファはサポートされていません。
-
ファイルサイズオプションを使用したキャプチャの数を増やすと、システムのパフォーマンスが低下します。
-
システムの負荷が高いと、パケットキャプチャのデータが失われます。
例
パケットをキャプチャするには、次のコマンドを入力します。
> capture captest interface inside
> 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
次に、脅威に対する防御 デバイスがクラッシュしたときにシングルモードでパケットをキャプチャする例を示します。
> capture 789 interface inside
キャプチャ「789」のコンテンツは、789.pcap ファイルとして保存されます。
次に、脅威に対する防御 がクラッシュしたときにマルチモードでパケットをキャプチャする例を示します。
>capture 624 interface inside
管理コンテキスト内のキャプチャ「624」のコンテンツは、admin.624.pcap ファイルとして保存されます。
次に、ARP パケットをキャプチャする例を示します。
> capture arp ethernet-type arp interface outside
クラスタリングでのキャプチャ
クラスタ内のすべてのユニットでのキャプチャをイネーブルにするには、これらの各コマンドの前に cluster exec キーワードを追加します。
次の例では、クラスタリング環境の LACP キャプチャを作成する方法を示します。
> capture lacp type lacp interface gigabitEthernet0/0
次の例では、クラスタリング リンクでの制御パス パケットのキャプチャを作成する方法を示します。
> capture cp interface cluster match udp any eq 49495 any
> capture cp interface cluster match udp any any eq 49495
次の例では、クラスタを通過するデータ パス トラフィックをキャプチャする方法を示します。
> capture abc interface inside match tcp host 1.1.1.1 host 2.2.2.2 eq www
> capture abc interface inside match dup host 1.1.1.1 any