如何利用Firepower捕获并分析流量

前言:

部署FTD之后,如果您的网络出现任何连通性问题,首先要做的就是验证配置是否正确。但是,如果无法确定任何配置错误,则可能需要捕获实时流量并分析它们。本文将讨论使用FTD内置工具捕获流量的过程。

Chapter 1 - 流量捕获的要点

一. 当Firepower阻止从入向接口发往出向接口的数据包时,这个行为实际上是由防火墙引擎或Firepower引擎执行的。因此,如果两个主机在通过FTD发送流量时遇到任何连通性问题时,则必须分析来自两个引擎的数据包,以确定问题的根本原因。

下图展示了穿越FTD设备的数据流,防火墙引擎从入接口接收到一个数据包,并将其重定向到Firepower引擎。

如何利用Firepower捕获并分析流量_第1张图片

二. 在考虑捕获流量时,您需要确保以下几点:

  1. Firepower系统主要不是随时捕获实时流量,除了控制流量和检测流量外,Firepower还支持捕获实时流量仅仅用于排错,不推荐长时间使用,来捕获流量。

  2. 在生产环境中捕获实时流量会降低系统性能。

  3. 不要在Console 会话中希纳是捕获的数据包,推荐把捕获的数据包重定向到一个文件中,然后用第三方抓包软件打开。

Chapter 2 - 配置Firepower系统进行流量分析

根据您希望探测的位置,流量的捕获过程会有所不同,接下来,我们会介绍从以下硬件和软件组件上捕获数据包的任务:

  1. Firepower引擎
  2. 防火墙引擎
  3. FMC

下图,展示了本文将使用到的流量捕获场景使用的实验拓扑。

如何利用Firepower捕获并分析流量_第2张图片
一.从Firepower引擎捕获流量

从Firepower引擎捕获流量步骤如下:

  1. 登陆到FTD CLI中

  2. 在Shell上执行命令 capture-traffic

  3. 当系统提示选择一个域时,选择“Router“域来捕获数据接口的流量,(br1域捕获管理接口的流量)。

    > 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: 
  1. 当FTD提示指定TCPdump时,可以使用下表中的选项来确定你的选择,如果您没有提供任何选项,默认也 可以不适用任何过滤器来捕获流量

  2. 在您添加了选项后,点击回车键开始捕获。可随时点击Ctrl+C组合键结束。

a.tcpdump提供了大量选项,您可以使用这些选项来管理捕获到的数据包,还提供了BPF过滤参数,您可 以使用BPF控制并提升数据包的显示。具体参数如表1,表2所示:

表1:TCP dump选项

选项 描述
-c 捕获到一定数量的数据包后停止
-e 捕获中显示以太网头部
-n 不解析主机名或端口名称
-s 定义捕获数据包的大小
-v 显示额外数据包数据
-w 在文件中保存捕获的数据包,而不是在Console终端上显示
-x 以16进制显示数据包内容

表2:BPF选项

选项 用途
host.net 分别用来过滤去往和来自特定主机或整个网络的流量
port,portrange 分别用来过滤去往和来自特定端口或特定端口范围的流量
src,dst 选择流量的方向,源或目的
and.or,not 把具体的条件结合在一起或独立起来
vlan 捕获与指定vlan相关的流量

使用tcpdump选项捕获流量

! To capture the 5 HTTP transactions between a web server and a host with IP address 
192.168.1.2: 

Options: -n -c 5 host 192.168.1.2 and port 80 
03:42:23.479970 IP 192.168.1.2.44694 > 172.16.1.2.80: Flags [S], seq 2622260089, win 
29200, options [mss 1380,sackOK,TS val 2174057 ecr 0,nop,wscale 7], 
Technet24 
length 0 
03:42:23.479970 IP 172.16.1.2.80 > 192.168.1.2.44694: Flags [S.], seq 2877405527, ack 
2622260090, win 28960, options [mss 1380,sackOK,TS val 1270689 ecr 2174057,nop,wscale 
7], length 0 
03:42:23.479970 IP 192.168.1.2.44694 > 172.16.1.2.80: Flags [.], ack 1, win 229, options 
[nop,nop,TS val 2174058 ecr 1270689], length 0 
03:42:23.479970 IP 192.168.1.2.44694 > 172.16.1.2.80: Flags [P.], ack 1, win 229, options 
[nop,nop,TS val 2174058 ecr 1270689], length 436 
03:42:23.479970 IP 172.16.1.2.80 > 192.168.1.2.44694: Flags [.], ack 437, win 235, options 
[nop,nop,TS val 1270689 ecr 2174058], length 0 

b.下载Firepower引擎生产的.pcap文件

除了使用Console终端查看以外,还可以将数据包保存到一个.pcap文件中,然后通过数据包分析软件查看 次文件,进一步分析。如下所示,捕获去往和去往192.168.1.2的流量,在捕获数据包时,系统会把这些数 据包保存到traffic.pcap文件中。

Options: -w traffic.pcap -s 1518 host 192.168.1.2 

Caught interrupt signal 

Exiting. 

> 

! The following command confirms that the pcap file is created and stored on the disk. 

> file list 

Feb 15 05:03 886 /traffic.pcap 

捕获到流量且创建了.pcap文件后,可以通过GUI或CLI下载整个文件(本文以FMC为例)。

c.FTD没有自己的GUI,但可以使用FMC的GUI下载文件整个文件

步骤1:登陆FMC的GUI,打开System > Health > Monitor ,这时会显示出Appliance Status Summary(设备状态汇总)图标
步骤2:找到捕获流量的FTD设备,如果没有看到设备,可以展开安全状态旁的箭头图标,如下图所示:

如何利用Firepower捕获并分析流量_第3张图片

步骤3:找到相应FTD设备后,单击设备名称,会出现这台FTD设备的Health Monitor(健康监控)页面。
步骤4:单击Advanced Troubleshooting(高级排错)按钮,出现如图4,图5,界面,下载文件。

如何利用Firepower捕获并分析流量_第4张图片
图片4.png
如何利用Firepower捕获并分析流量_第5张图片
图片5.png
二.从防火墙引擎捕获流量

前面我们介绍了如何从Firepower引擎捕获流量,但您无法在防火墙引擎上使用相同的命令,接下来我们接入如何从防火墙引擎捕获流量
步骤1:确认您希望捕获流量的接口名称。本例我们以GE1/1为例,捕获次接口流量。如下图所示:

如何利用Firepower捕获并分析流量_第6张图片

步骤2:使用如下命令捕获接口流量

 > capture icmp_traffic interface INSIDE_INTERFACE match icmp host 192.168.1.2 any 

表示从一台主机(192.168.1.2)捕获发往任意目的地的ICMP流量。“ icmp_traffic“capture名称,”NSIDE_INTERFACE“为接口名称。

下图,中清晰展示了从防火墙引擎捕获流量和从Firepower捕获流量的区别。

如何利用Firepower捕获并分析流量_第7张图片

步骤3:执行一些穿越FTD的ping测试,使用show capture进行查看捕获的流量。

> show capture 
capture icmp_traffic type raw-data interface INSIDE_INTERFACE [Capturing - 1140 bytes] 
match icmp host 192.168.1.2 any 
> 

下载防火墙引擎生产的.pacp文件的方式同Firepower引擎方式一样

三.从FMC捕获流量

要想排查FMC和FTD之间的复杂通信问题,其中一项重要排错工具是对管理流量进行分析。
步骤1:在FMC的管理接口使用tcpdump命令来捕获流量。也可以使用BPF语法,以及Firepower引擎上应用 的类似过滤选项。如下所示,展示了FTD和FMC之间的ICMP流量捕获内容,host选项限制设备 只 捕获从特定主机10.1.1.2发来的流量。该主机位FTD设备,选项-i eth0允许tcpdump工具只侦听

eth0管理接口
admin@FMC:~$ sudo tcpdump -i eth0 host 10.1.1.2
Password:
HS_PACKET_BUFFER_SIZE is set to 4.
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes Technet24
11:11:52.121238 IP 10.1.1.2 > FMC: ICMP echo request, id 16625, seq 1, length 64
11:11:52.121293 IP FMC > 10.1.1.2: ICMP echo reply, id 16625, seq 1, length 64
11:11:53.121786 IP 10.1.1.2 > FMC: ICMP echo request, id 16625, seq 2, length 64
11:11:53.121856 IP FMC > 10.1.1.2: ICMP echo reply, id 16625, seq 2, length 64
^C
4 packets captured
4 packets received by filter
0 packets dropped by kernel
admin@FMC:~$

步骤2:下载FMC生成的.pcap文件。为了使用第三方软件分析捕获的流量,需要把流量保存为.pcap文件,然 后把文件传输到本地计算机。如下所示,捕获了10个数据包,并将文件保存在/var/common/路径 下。

admin@FMC:~$ sudo tcpdump -i eth0 host 10.1.1.2 -w /var/common/fmc_traffic.pcap

HS_PACKET_BUFFER_SIZE is set to 4.
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
^C
10 packets captured
10 packets received by filter
0 packets dropped by kernel
admin@FMC:~$

捕获的流量文件,必须存储在FMC上的/var/common目录下,FMC才允许直接从GUI中下载这些文件。文件下载方法同从Firepower引擎捕获流量下载方法一致。

你可能感兴趣的:(如何利用Firepower捕获并分析流量)