はじめに
このドキュメントでは、Firepower Threat Defense(FTD)キャプチャおよびパケットトレーサユーティリティの使用方法について説明します。
前提条件
要 件
このドキュメントに関する固有の要件はありません。
使用するコンポーネント
本書の情報は、次のソフトウェアのバージョンに基づくものです。
- FTDソフトウェア6.1.0が稼働するASA5515-X
- FTDソフトウェア6.2.2が稼働するFPR4110
- Firepower Management Center(FMC)ソフトウェア6.2.2が稼働するFS4000
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
バックグラウンド情報
FTD パケット処理
FTDパケット処理は次のように視覚化されます。

- パケットが入力インターフェイスに入り、LINAエンジンによって処理されます。
- ポリシーでSnortエンジンによるパケットの検査が必要な場合。
- Snort エンジンがパケットに対する判定を返します。
- LINA エンジンは、Snort の判定に基づいてパケットをドロップまたは転送する.
アーキテクチャに基づいて、FTDキャプチャは次の場所で取得できます。

設定
ネットワーク図

Snortエンジンによるキャプチャの処理
前提条件
インターネット制御メッセージプロトコル(ICMP)トラフィックの通過を許可するアクセスコントロールポリシー(ACP)がFTDに適用されています。このポリシーには、侵入ポリシーも適用されます。

要 件
- フィルタを使用せずにFTD CLISHモードでキャプチャを有効にします。
- FTDからpingを実行し、キャプチャされた出力を確認します。
ソリューション
ステップ 1:FTDコンソールにログインするか、br1インターフェイスにSSHで接続し、フィルタを使用せずにFTD CLISHモードでキャプチャを有効にします。
> capture-traffic
Please choose domain to capture traffic from:
0 - br1
1 - Router
Selection? 1
Please specify tcpdump options desired.
(or enter '?' for a list of supported options)
Options:
FTD 6.0.xでは、コマンドは次のようになります。
> system support capture-traffic
ステップ 2FTDからpingを実行し、キャプチャされた出力を確認します。
> capture-traffic
Please choose domain to capture traffic from:
0 - br1
1 - Router
Selection? 1
Please specify tcpdump options desired.
(or enter '?' for a list of supported options)
Options:
12:52:34.749945 IP olab-vl603-gw.cisco.com > olab-vl647-gw.cisco.com: ICMP echo request, id 0, seq 1, length 80
12:52:34.749945 IP olab-vl647-gw.cisco.com > olab-vl603-gw.cisco.com: ICMP echo reply, id 0, seq 1, length 80
12:52:34.759955 IP olab-vl603-gw.cisco.com > olab-vl647-gw.cisco.com: ICMP echo request, id 0, seq 2, length 80
12:52:34.759955 IP olab-vl647-gw.cisco.com > olab-vl603-gw.cisco.com: ICMP echo reply, id 0, seq 2, length 80
12:52:34.759955 IP olab-vl603-gw.cisco.com > olab-vl647-gw.cisco.com: ICMP echo request, id 0, seq 3, length 80
12:52:34.759955 IP olab-vl647-gw.cisco.com > olab-vl603-gw.cisco.com: ICMP echo reply, id 0, seq 3, length 80
12:52:34.759955 IP olab-vl603-gw.cisco.com > olab-vl647-gw.cisco.com: ICMP echo request, id 0, seq 4, length 80
12:52:34.759955 IP olab-vl647-gw.cisco.com > olab-vl603-gw.cisco.com: ICMP echo reply, id 0, seq 4, length 80
^C <- to exit press CTRL + C
Snortエンジンによるキャプチャの処理
要 件
- IP 192.168.101.1のフィルタを使用して、FTDのCLISHモードでキャプチャを有効にします。
- FTDからpingを実行し、キャプチャされた出力を確認します。
ソリューション
ステップ 1:IP 192.168.101.1のフィルタを使用して、FTDのCLISHモードでキャプチャを有効にします。
> capture-traffic
Please choose domain to capture traffic from:
0 - br1
1 - Router
Selection? 1
Please specify tcpdump options desired.
(or enter '?' for a list of supported options)
Options: host 192.168.101.1
ステップ 2FTDからpingを実行し、キャプチャされた出力を確認します。
13:28:36.079982 IP olab-vl647-gw.cisco.com > olab-vl603-gw.cisco.com: ICMP echo reply, id 3, seq 0, length 80
13:28:36.079982 IP olab-vl647-gw.cisco.com > olab-vl603-gw.cisco.com: ICMP echo reply, id 3, seq 1, length 80
13:28:36.079982 IP olab-vl647-gw.cisco.com > olab-vl603-gw.cisco.com: ICMP echo reply, id 3, seq 2, length 80
13:28:36.079982 IP olab-vl647-gw.cisco.com > olab-vl603-gw.cisco.com: ICMP echo reply, id 3, seq 3, length 80
13:28:36.079982 IP olab-vl647-gw.cisco.com > olab-vl603-gw.cisco.com: ICMP echo reply, id 3, seq 4, length 80
-nオプションを使用すると、ホストおよびポート番号を数値形式で表示できます。たとえば、前述のキャプチャは次のように表示されます。
> capture-traffic
Please choose domain to capture traffic from:
0 - br1
1 - Router
Selection? 1
Please specify tcpdump options desired.
(or enter '?' for a list of supported options)
Options: -n host 192.168.101.1
13:29:59.599959 IP 192.168.101.1 > 192.168.103.1: ICMP echo reply, id 5, seq 0, length 80
13:29:59.599959 IP 192.168.101.1 > 192.168.103.1: ICMP echo reply, id 5, seq 1, length 80
13:29:59.599959 IP 192.168.101.1 > 192.168.103.1: ICMP echo reply, id 5, seq 2, length 80
13:29:59.599959 IP 192.168.101.1 > 192.168.103.1: ICMP echo reply, id 5, seq 3, length 80
13:29:59.599959 IP 192.168.101.1 > 192.168.103.1: ICMP echo reply, id 5, seq 4, length 80
Tcpdump フィルタの例
例 1:
送信元IPまたは宛先IP = 192.168.101.1および送信元ポートまたは宛先ポート= TCP/UDP 23をキャプチャするには、次のコマンドを入力します。
Options: -n host 192.168.101.1 and port 23
例 2:
送信元IP = 192.168.101.1および送信元ポート= TCP/UDP 23をキャプチャするには、次のコマンドを入力します。
Options: -n src 192.168.101.1 and src port 23
例 3:
送信元IP = 192.168.101.1および送信元ポート= TCP 23をキャプチャするには、次のコマンドを入力します。
Options: -n src 192.168.101.1 and tcp and src port 23
例 4:
送信元IP = 192.168.101.1をキャプチャして、パケットのMACアドレスを表示するには、eオプションを追加して、次のコマンドを入力します。
Options: -ne src 192.168.101.1
17:57:48.709954 6c:41:6a:a1:2b:f6 > a8:9d:21:93:22:90, ethertype IPv4 (0x0800), length 58: 192.168.101.1.23 > 192.168.103.1.25420:
Flags [S.], seq 3694888749, ack 1562083610, win 8192, options [mss 1380], length 0
例 5:
10個のパケットをキャプチャした後で終了するには、次のコマンドを入力します。
Options: -n -c 10 src 192.168.101.1
18:03:12.749945 IP 192.168.101.1.23 > 192.168.103.1.27287: Flags [.], ack 3758037348, win 32768, length 0
18:03:12.749945 IP 192.168.101.1.23 > 192.168.103.1.27287: Flags [P.], ack 1, win 32768, length 2
18:03:12.949932 IP 192.168.101.1.23 > 192.168.103.1.27287: Flags [P.], ack 1, win 32768, length 10
18:03:13.249971 IP 192.168.101.1.23 > 192.168.103.1.27287: Flags [.], ack 3, win 32768, length 0
18:03:13.249971 IP 192.168.101.1.23 > 192.168.103.1.27287: Flags [P.], ack 3, win 32768, length 2
18:03:13.279969 IP 192.168.101.1.23 > 192.168.103.1.27287: Flags [.], ack 5, win 32768, length 0
18:03:13.279969 IP 192.168.101.1.23 > 192.168.103.1.27287: Flags [P.], ack 5, win 32768, length 10
18:03:13.309966 IP 192.168.101.1.23 > 192.168.103.1.27287: Flags [.], ack 7, win 32768, length 0
18:03:13.309966 IP 192.168.101.1.23 > 192.168.103.1.27287: Flags [P.], ack 7, win 32768, length 12
18:03:13.349972 IP 192.168.101.1.23 > 192.168.103.1.27287: Flags [.], ack 9, win 32768, length 0
例 6:
capture.pcapという名前のファイルにキャプチャを書き込んで、FTP経由でリモートサーバにコピーするには、次のコマンドを入力します。
Options: -w capture.pcap host 192.168.101.1
CTRL + C <- to stop the capture
> file copy 10.229.22.136 ftp / capture.pcap
Enter password for ftp@10.229.22.136:
Copying capture.pcap
Copy successful.
>
FTD LINAエンジンによるキャプチャの処理
要 件
1. 次のフィルタを使用して、FTDで2つのキャプチャを有効にします。
|
送信元 IP
|
192.168.103.1
|
|
宛先 IP
|
192.168.101.1
|
|
プロトコル
|
ICMP
|
|
Interface
|
INSIDE
|
|
送信元 IP
|
192.168.103.1
|
|
宛先 IP
|
192.168.101.1
|
|
プロトコル
|
ICMP
|
|
Interface
|
OUTSIDE
|
2. ホストA(192.168.103.1)からホストB(192.168.101.1)にpingを実行し、キャプチャを確認します。
ソリューション
ステップ 1:キャプチャを有効にします。
> capture CAPI interface INSIDE match icmp host 192.168.103.1 host 192.168.101.1
> capture CAPO interface OUTSIDE match icmp host 192.168.101.1 host 192.168.103.1
ステップ 2CLIのキャプチャを確認します。
ホスト A からホスト B へ ping を実行します。

> show capture
capture CAPI type raw-data interface INSIDE [Capturing - 752 bytes]
match icmp host 192.168.103.1 host 192.168.101.1
capture CAPO type raw-data interface OUTSIDE [Capturing - 720 bytes]
match icmp host 192.168.101.1 host 192.168.103.1
次の出力例に示すように、INSIDEインターフェイスのDot1Qヘッダーにより、2つのキャプチャのサイズが異なります。
> show capture CAPI
8 packets captured
1: 17:24:09.122338 802.1Q vlan#1577 P0 192.168.103.1 > 192.168.101.1: icmp: echo request
2: 17:24:09.123071 802.1Q vlan#1577 P0 192.168.101.1 > 192.168.103.1: icmp: echo reply
3: 17:24:10.121392 802.1Q vlan#1577 P0 192.168.103.1 > 192.168.101.1: icmp: echo request
4: 17:24:10.122018 802.1Q vlan#1577 P0 192.168.101.1 > 192.168.103.1: icmp: echo reply
5: 17:24:11.119714 802.1Q vlan#1577 P0 192.168.103.1 > 192.168.101.1: icmp: echo request
6: 17:24:11.120324 802.1Q vlan#1577 P0 192.168.101.1 > 192.168.103.1: icmp: echo reply
7: 17:24:12.133660 802.1Q vlan#1577 P0 192.168.103.1 > 192.168.101.1: icmp: echo request
8: 17:24:12.134239 802.1Q vlan#1577 P0 192.168.101.1 > 192.168.103.1: icmp: echo reply
8 packets shown
> show capture CAPO
8 packets captured
1: 17:24:09.122765 192.168.103.1 > 192.168.101.1: icmp: echo request
2: 17:24:09.122994 192.168.101.1 > 192.168.103.1: icmp: echo reply
3: 17:24:10.121728 192.168.103.1 > 192.168.101.1: icmp: echo request
4: 17:24:10.121957 192.168.101.1 > 192.168.103.1: icmp: echo reply
5: 17:24:11.120034 192.168.103.1 > 192.168.101.1: icmp: echo request
6: 17:24:11.120263 192.168.101.1 > 192.168.103.1: icmp: echo reply
7: 17:24:12.133980 192.168.103.1 > 192.168.101.1: icmp: echo request
8: 17:24:12.134194 192.168.101.1 > 192.168.103.1: icmp: echo reply
8 packets shown
FTD LINAエンジンによるキャプチャの処理:HTTPによるキャプチャのエクスポート
要 件
前のシナリオで取得したキャプチャをブラウザでエクスポートします。
ソリューション
ブラウザでキャプチャをエクスポートするには、次の手順を実行する必要があります。
- HTTPSサーバを有効にします。
- HTTPSアクセスを許可します。
デフォルトでは、HTTPSサーバは無効で、アクセスは許可されません。
> show running-config http
>
ステップ 1:Devices > Platform Settingsに移動し、New Policyをクリックして、Threat Defense Settingsを選択します。

ポリシー名と対象デバイスを指定します。

ステップ 2HTTPSサーバを有効にし、HTTPS経由でのFTDデバイスへのアクセスを許可するネットワークを追加します。

保存して展開します。
ポリシーを展開するとき、debug httpを有効にすると、HTTPサービスの開始を確認できます。
> debug http 255
debug http enabled at level 255.
http_enable: Enabling HTTP server
HTTP server starting.
FTD CLIの結果は次のようになります。
> unebug all
> show run http
http server enable
http 192.168.103.0 255.255.255.0 INSIDE
ホストA(192.168.103.1)でブラウザを開き、最初のキャプチャCAPI.pcapをダウンロードするためにURLを使用します。

次のドキュメントを参照してください。
2番目のキャプチャには、Capture CAPI.pcapを使用します。

FTD LINAエンジンによるキャプチャの処理:FTP/TFTP/SCP経由でキャプチャをエクスポートします。
要 件
Cisco IOS®プロトコルを使用して、以前のシナリオで取得したキャプチャをエクスポートします。
ソリューション
キャプチャをFTPサーバにエクスポートします。
firepower# copy /pcap capture:CAPI ftp://ftp_username:ftp_password@192.168.78.73/CAPI.pcap
Source capture name [CAPI]?
Address or name of remote host [192.168.78.73]?
Destination username [ftp_username]?
Destination password [ftp_password]?
Destination filename [CAPI.pcap]?
!!!!!!
114 packets copied in 0.170 secs
firepower#
キャプチャをTFTPサーバにエクスポートします。
firepower# copy /pcap capture:CAPI tftp://192.168.78.73
Source capture name [CAPI]?
Address or name of remote host [192.168.78.73]?
Destination filename [CAPI]?
!!!!!!!!!!!!!!!!
346 packets copied in 0.90 secs
firepower#
キャプチャをSCPサーバにエクスポートします。
firepower# copy /pcap capture:CAPI scp://scp_username:scp_password@192.168.78.55
Source capture name [CAPI]?
Address or name of remote host [192.168.78.55]?
Destination username [scp_username]?
Destination filename [CAPI]?
The authenticity of host '192.168.78.55 (192.168.78.55)' can't be established.
RSA key fingerprint is <cb:ca:9f:e9:3c:ef:e2:4f:20:f5:60:21:81:0a:85:f9:02:0d:0e:98:d0:9b:6c:dc:f9:af:49:9e:39:36:96:33>(SHA256).
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.78.55' (SHA256) to the list of known hosts.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
454 packets copied in 3.950 secs (151 packets/sec)
firepower#
FTDからのオフロードキャプチャ。 現在、FTDからキャプチャをオフロードする必要がある場合、最も簡単な方法は次の手順を実行することです。
1. Linaから、/pcap capture:<cap_name> disk0:
2. FPRルートから:mv /ngfw/mnt/disk0/<cap_name> /ngfw/var/common/
3. FMCのUIから:System > Health > Monitor > Device > Advanced Troubleshootingの順に選択し、フィールドに<cap_name>を入力してダウンロードします。
FTD LINAエンジンによるキャプチャの処理:実際のトラフィックパケットのトレース
要 件
次のフィルタを使用して、FTDでキャプチャを有効にします。
|
送信元 IP
|
192.168.103.1
|
|
宛先 IP
|
192.168.101.1
|
|
プロトコル
|
ICMP
|
|
Interface
|
INSIDE
|
|
パケットのトレース
|
yes
|
|
トレースするパケット数
|
100
|
ホスト A(192.168.103.1)からホスト B(192.168.101.1)に ping を実行し、キャプチャ内容を確認します。
ソリューション
実際のパケットをトレースすることは、接続問題のトラブルシューティングに非常に役立ちます。これにより、パケットが通過するすべての内部チェックを確認できます。trace detailキーワードを追加して、トレースするパケットの数を指定します。デフォルトでは、FTDは最初の50個の入力パケットをトレースします。
この場合、FTDが内部インターフェイスで受信する最初の100個のパケットに対して、トレース詳細によるキャプチャを有効にします。
> capture CAPI2 interface INSIDE trace detail trace-count 100 match icmp host 192.168.103.1 host 192.168.101.1
ホスト A からホスト B に ping を実行し、結果を確認します。

キャプチャされたパケットは次のとおりです。
> show capture CAPI28 packets captured
1: 18:08:04.232989 802.1Q vlan#1577 P0 192.168.103.1 > 192.168.101.1: icmp: echo request
2: 18:08:04.234622 802.1Q vlan#1577 P0 192.168.101.1 > 192.168.103.1: icmp: echo reply
3: 18:08:05.223941 802.1Q vlan#1577 P0 192.168.103.1 > 192.168.101.1: icmp: echo request
4: 18:08:05.224872 802.1Q vlan#1577 P0 192.168.101.1 > 192.168.103.1: icmp: echo reply
5: 18:08:06.222309 802.1Q vlan#1577 P0 192.168.103.1 > 192.168.101.1: icmp: echo request
6: 18:08:06.223148 802.1Q vlan#1577 P0 192.168.101.1 > 192.168.103.1: icmp: echo reply
7: 18:08:07.220752 802.1Q vlan#1577 P0 192.168.103.1 > 192.168.101.1: icmp: echo request
8: 18:08:07.221561 802.1Q vlan#1577 P0 192.168.101.1 > 192.168.103.1: icmp: echo reply
8 packets shown
次の出力は、最初のパケットのトレースを示しています。対象となる部分は次のとおりです。
- フェーズ12では、フォワードフローが確認されます。これはLINAエンジンディスパッチアレイです(実質的には内部処理順序)。
- フェーズ13では、FTDがSnortインスタンスにパケットを送信します。
- フェーズ14では、Snortによる判定が行われます。
> show capture CAPI2 packet-number 1 trace detail
8 packets captured
1: 18:08:04.232989 000c.2998.3fec a89d.2193.2293 0x8100 Length: 78
802.1Q vlan#1577 P0 192.168.103.1 > 192.168.101.1: icmp: echo request (ttl 128, id 3346)
Phase: 1
Type: CAPTURE
... output omitted ...
Phase: 12
Type: FLOW-CREATION
Subtype:
Result: ALLOW
Config:
Additional Information:
New flow created with id 195, packet dispatched to next module
Module information for forward flow ...
snp_fp_inspect_ip_options
snp_fp_snort
snp_fp_inspect_icmp
snp_fp_adjacency
snp_fp_fragment
snp_ifc_stat
Module information for reverse flow ...
snp_fp_inspect_ip_options
snp_fp_inspect_icmp
snp_fp_snort
snp_fp_adjacency
snp_fp_fragment
snp_ifc_stat
Phase: 13
Type: EXTERNAL-INSPECT
Subtype:
Result: ALLOW
Config:
Additional Information:
Application: 'SNORT Inspect'
Phase: 14
Type: SNORT
Subtype:
Result: ALLOW
Config:
Additional Information:
Snort Verdict: (pass-packet) allow this packet
... output omitted ...
Result:
input-interface: OUTSIDE
input-status: up
input-line-status: up
output-interface: OUTSIDE
output-status: up
output-line-status: up
Action: allow
1 packet shown
>
6.2以降のFMCソフトウェアバージョンのキャプチャツール
FMCバージョン6.2.xでは、新しいパケットキャプチャウィザードが導入されました。Devices > Device Managementの順に移動し、Troubleshootアイコンをクリックします。次に、Advanced Troubleshootingを選択し、最後にCapture w/Traceを選択します。

Add Captureを選択して、FTDキャプチャを作成します。


現在のFMC UIの制限事項は次のとおりです。
- 送信元ポートと宛先ポートを指定できません
- 基本的なIPプロトコルのみを照合できます
- LINAエンジンのASPドロップのキャプチャを有効にできません。
回避策 – FTD CLIを使用します
FMC UIからキャプチャを適用するとすぐに、キャプチャが実行されます。

FTD CLIのキャプチャ:
> show capture
capture CAPI%intf=INSIDE% type raw-data trace interface INSIDE [Capturing - 0 bytes]
match ip host 192.168.0.10 host 192.168.2.10
>
6.2以降のFMCでの実際のパケットのトレース
FMC 6.2.xでは、Capture w/Traceウィザードを使用してFTD上の実際のパケットをキャプチャおよびトレースできます。

トレースされたパケットはFMCのUIで確認できます。

FTDパケットトレーサユーティリティ
要 件
このフローにパケットトレーサユーティリティを使用して、パケットが内部でどのように処理されるかを確認します。
|
入力インターフェイス
|
INSIDE
|
|
プロトコル
|
ICMP エコー要求
|
|
送信元 IP
|
192.168.103.1
|
|
宛先 IP
|
192.168.101.1
|
ソリューション
Packet Tracerは仮想パケットを生成します。この例に示すように、パケットはSnortインスペクションの対象になります。Snortレベル(capture-traffic)で同時に取得されたキャプチャは、ICMPエコー要求を示します。
> packet-tracer input INSIDE icmp 192.168.103.1 8 0 192.168.101.1
Phase: 1
Type: CAPTURE
Subtype:
Result: ALLOW
Config:
Additional Information:
MAC Access list
Phase: 2
Type: ACCESS-LIST
Subtype:
Result: ALLOW
Config:
Implicit Rule
Additional Information:
MAC Access list
Phase: 3
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop 192.168.101.1 using egress ifc OUTSIDE
Phase: 4
Type: ACCESS-LIST
Subtype: log
Result: ALLOW
Config:
access-group CSM_FW_ACL_ global
access-list CSM_FW_ACL_ advanced permit ip 192.168.103.0 255.255.255.0 192.168.101.0 255.255.255.0 rule-id 268436482 event-log both
access-list CSM_FW_ACL_ remark rule-id 268436482: ACCESS POLICY: FTD5515 - Mandatory/1
access-list CSM_FW_ACL_ remark rule-id 268436482: L4 RULE: Allow ICMP
Additional Information:
This packet is sent to snort for additional processing where a verdict is reached
... output omitted ...
Phase: 12
Type: FLOW-CREATION
Subtype:
Result: ALLOW
Config:
Additional Information:
New flow created with id 203, packet dispatched to next module
Phase: 13
Type: SNORT
Subtype:
Result: ALLOW
Config:
Additional Information:
Snort Trace:
Packet: ICMP
AppID: service ICMP (3501), application unknown (0)
Firewall: allow rule, id 268440225, allow
NAP id 2, IPS id 0, Verdict PASS
Snort Verdict: (pass-packet) allow this packet
Result:
input-interface: INSIDE
input-status: up
input-line-status: up
output-interface: OUTSIDE
output-status: up
output-line-status: up
Action: allow
>
パケットトレーサテスト時のSnortレベルのキャプチャは、仮想パケットを示します。
> capture-traffic
Please choose domain to capture traffic from:
0 - management0
1 - Router
Selection? 1
Please specify tcpdump options desired.
(or enter '?' for a list of supported options)
Options: -n
13:27:11.939755 IP 192.168.103.1 > 192.168.101.1: ICMP echo request, id 0, seq 0, length 8
6.2以降のFMCソフトウェアバージョンのPacket Tracer UIツール
FMCバージョン6.2.xでは、Packet Tracer UIツールが導入されました。このツールはキャプチャツールと同じ方法でアクセスでき、FMCのUIからFTD上でPacket Tracerを実行できます。

関連情報