目录

简介

背景信息

输出选项

过滤器选项

捕获过滤器

Display-filter

写入选项

写入

Capture-ring-buffer

读取选项

Decode-internal with Detail选项

Capture-filter值的示例

捕获流向IP主机或流向IP主机的流量

捕获来往于某个IP地址范围的流量

捕获来自一系列IP地址的流量

捕获流向一系列IP地址的流量

仅捕获特定协议上的流量 — 仅捕获DNS流量

仅捕获特定协议上的流量 — 仅捕获DHCP流量

捕获未使用特定协议的流量 — 排除HTTP或SMTP流量

捕获未使用特定协议的流量 — 排除ARP和DNS流量

仅捕获IP流量 — 排除ARP和STP等下层协议

仅捕获单播流量 — 排除广播和组播通告

捕获第4层端口范围内的流量

根据以太网类型捕获流量 — 捕获EAPOL流量

IPv6捕获解决方法

根据IP协议类型捕获流量

根据MAC地址拒绝以太网帧 — 排除属于LLDP组播组的流量

捕获UDLD、VTP或CDP流量

捕获流入或流出MAC地址的流量

通用控制平面协议

已知问题

相关信息

简介

本文档介绍Ethanalyzer，这是一款基于Wireshark的控制数据包的Cisco NX-OS集成数据包捕获工具。

背景信息

Wireshark是一种开源网络协议分析器，广泛应用于许多行业和教育机构。它解码数据包捕获库libpcap捕获的数据包。Cisco NX-OS在Linux内核上运行，该内核使用libpcap库来支持数据包捕获。

使用Ethanalyzer，您可以：

- 捕获主控引擎发送或接收的数据包。

- 设置要捕获的数据包数量。

- 设置要捕获的数据包的长度。

- 显示包含摘要或详细协议信息的数据包。

- 打开并保存捕获的数据包数据。

- 过滤根据许多条件捕获的数据包。

- 过滤要在多个条件中显示的数据包。

- 解码控制数据包的内部7000报头。

Ethanalyzer无法：

- 网络出现问题时发出警告。但是，Ethanalyzer可以帮助您确定问题的原因。

- 捕获在硬件中转发的数据平面流量。

- 支持特定于接口的捕获。

输出选项

这是ethanalyzer local interface inband命令输出的摘要视图。“？”选项显示帮助。

使用“detail”选项可获得详细的协议信息。^C可用于中止并在捕获过程中重新获得交换机提示（如果需要）。

过滤器选项

捕获过滤器

使用“capture-filter”选项可选择在捕获期间显示或保存到磁盘的数据包。捕获过滤器在过滤时保持高捕获率。由于尚未对数据包进行完全解剖，因此过滤器字段是预定义并受限制的。

Display-filter

使用“display-filter”选项更改捕获文件（tmp文件）的视图。显示过滤器使用完全分离的数据包，因此您可以在分析网络跟踪文件时执行非常复杂和高级的过滤。但是，tmp文件可以快速填充，因为它首先捕获所有数据包，然后仅显示所需数据包。

在本示例中，“limit-captured-frames”设置为5。使用“capture-filter”（捕获过滤器）选项，Ethanalyzer将显示五个与过滤器“host 10.10.10.2”匹配的数据包。使用“display-filter”选项，Ethanalyzer首先捕获五个数据包，然后仅显示与过滤器“ip.addr==10.10.10.2”匹配的数据包。

写入选项

写入

通过“write”选项，您可以将捕获数据写入Cisco Nexus 7000系列交换机上某个存储设备（如bootflash或logflash）中的文件，以便稍后进行分析。捕获文件大小限制为10 MB。

带有“write”选项的Ethanalyzer命令示例是ethanalyzer local interface inband write bootflash:capture_file_name。带有“capture-filter”的“write”选项和输出文件名为“first-capture”的示例如下：

将捕获数据保存到文件时，捕获的数据包默认不会显示在终端窗口中。“display”（显示）选项强制Cisco NX-OS在将捕获数据保存到文件的同时显示数据包。

Capture-ring-buffer

“capture-ring-buffer”选项在指定的秒数、指定的文件数或指定的文件大小后创建多个文件。以下屏幕截图显示了这些选项的定义：

读取选项

通过“read”选项，您可以读取设备本身上保存的文件。

您也可以将文件传输到服务器或PC，并使用Wireshark或任何其它可以读取cap或pcap文件的应用程序读取该文件。

Decode-internal with Detail选项

“decode-internal”选项报告有关Nexus 7000如何转发数据包的内部信息。此信息有助于您了解数据包通过CPU的流程并对其进行故障排除。

将NX-OS索引转换为十六进制，然后使用show system internal pixm info ltl x命令将本地目标逻辑(LTL)索引映射到物理或逻辑接口。

Capture-filter值的示例

捕获流向IP主机或流向IP主机的流量

host 10.1.1.1

捕获来往于某个IP地址范围的流量

net 172.16.7.0/24

net 172.16.7.0 mask 255.255.255.0

捕获来自一系列IP地址的流量

src net 172.16.7.0/24

src net 172.16.7.0 mask 255.255.255.0

捕获流向一系列IP地址的流量

dst net 172.16.7.0/24

dst net 172.16.7.0 mask 255.255.255.0

仅捕获特定协议上的流量 — 仅捕获DNS流量

DNS是域名系统协议。

port 53

仅捕获特定协议上的流量 — 仅捕获DHCP流量

DHCP是动态主机配置协议。

port 67 or port 68

捕获未使用特定协议的流量 — 排除HTTP或SMTP流量

SMTP是简单邮件传输协议。

host 172.16.7.3 and not port 80 and not port 25

捕获未使用特定协议的流量 — 排除ARP和DNS流量

ARP是地址解析协议。

port not 53 and not arp

仅捕获IP流量 — 排除ARP和STP等下层协议

STP是生成树协议。

ip

仅捕获单播流量 — 排除广播和组播通告

not broadcast and not multicast

捕获第4层端口范围内的流量

tcp portrange 1501-1549

根据以太网类型捕获流量 — 捕获EAPOL流量

EAPOL是LAN上的可扩展身份验证协议。

ether proto 0x888e

IPv6捕获解决方法

ether proto 0x86dd

根据IP协议类型捕获流量

ip proto 89

根据MAC地址拒绝以太网帧 — 排除属于LLDP组播组的流量

LLDP是链路层发现协议。

not ether dst 01:80:c2:00:00:0e

捕获UDLD、VTP或CDP流量

UDLD是单向链路检测，VTP是VLAN中继协议，CDP是Cisco发现协议。

ether host 01:00:0c:cc:cc:cc

捕获流入或流出MAC地址的流量

ether host 00:01:02:03:04:05

注意：

和= &&

或= ||

not = !

MAC地址格式：xx:xx:xx:xx:xx:xx

通用控制平面协议

- UDLD：目标媒体访问控制器(DMAC)= 01-00-0C-CC-CC-CC，以太网类型= 0x0111

- LACP:DMAC = 01:80:C2:00:00:02，以太网类型= 0x8809。LACP代表链路汇聚控制协议。

- STP:DMAC = 01:80:C2:00:00:00和EthType = 0x4242 — 或 — DMAC = 01:00:0C:CC:CC:CD和EthType = 0x010B

- CDP:DMAC = 01-00-0C-CC-CC-CC，以太网类型= 0x2000

- LLDP:DMAC = 01:80:C2:00:00:0E或01:80:C2:00:00:03或01:80:C2:00:00:00和EthType = 0x88CC

- DOT1X:DMAC = 01:80:C2:00:00:03和EthType = 0x888E。DOT1X代表IEEE 802.1x。

- IPv6：以太网类型= 0x86DD

- UDP和TCP端口号列表

已知问题

Cisco bug ID CSCue48854:Ethanalyzer capture-filter不捕获来自SUP2上CPU的流量。

Cisco Bug ID CSCtx79409：不能将捕获过滤器与decode-internal一起使用。

Cisco Bug ID CSCvi02546: SUP3生成的数据包可以有FCS，这是预期行为。

相关信息

- Wireshark：捕获过滤器

- Wireshark:DisplayFilters

- 技术支持和文档 - Cisco Systems