简介
本文档介绍Ethanalyzer,这是一款基于Wireshark的控制数据包的Cisco NX-OS集成数据包捕获工具。
背景信息
Wireshark是一种开源网络协议分析器,广泛应用于许多行业和教育机构。它解码数据包捕获库libpcap捕获的数据包。Cisco NX-OS在Linux内核上运行,该内核使用libpcap库来支持数据包捕获。
使用Ethanalyzer,您可以:
- 捕获主控引擎发送或接收的数据包。
- 设置要捕获的数据包数量。
- 设置要捕获的数据包的长度。
- 显示包含摘要或详细协议信息的数据包。
- 打开并保存捕获的数据包数据。
- 过滤根据许多条件捕获的数据包。
- 过滤要在多个条件中显示的数据包。
- 解码控制数据包的内部7000报头。
Ethanalyzer无法:
- 网络出现问题时发出警告。但是,Ethanalyzer可以帮助您确定问题的原因。
- 捕获在硬件中转发的数据平面流量。
- 支持特定于接口的捕获。
输出选项
这是ethanalyzer local interface inband命令输出的摘要视图。?选项将显示帮助。
使用detail选项查看详细的协议信息。^C可用于中止并在捕获过程中重新获得交换机提示(如果需要)。
过滤器选项
Capture-Filter
使用capture-filter选项可选择在捕获期间显示或保存到磁盘的数据包。捕获过滤器在过滤时保持高捕获率。由于尚未对数据包进行完全解剖,因此过滤器字段是预定义并受限制的。
Display-Filter
使用display-filter选项更改捕获文件(tmp文件)的视图。显示过滤器使用完全分离的数据包,因此您可以在分析网络跟踪文件时执行非常复杂和高级的过滤。但是,tmp文件可以快速填充,因为它首先捕获所有数据包,然后仅显示所需数据包。
在本示例中,limit-captured-frames设置为5。使用capture-filter选项,Ethanalyzer将显示与过滤器主机10.10.10.2匹配的五个数据包。使用display-filter选项,Ethanalyzer首先捕获五个数据包,然后仅显示与过滤器ip.addr==10.10.10.2匹配的数据包。
写入选项
写入
write选项允许您将捕获数据写入Cisco Nexus 7000系列交换机上某个存储设备(如bootflash或logflash)中的文件,以便稍后进行分析。捕获文件大小限制为10 MB。
带写选项的Ethanalyzer命令示例是ethanalyzer local interface inband write bootflash: capture_file_name。带有capture-filter的write选项和输出文件名为first-capture的示例如下:
将捕获数据保存到文件时,捕获的数据包默认不会显示在终端窗口中。显示选项强制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,这是预期行为。
相关信息