Citrix ADC集群报文跟踪
Citrix ADC操作系统提供了一个名为ns跟踪获取设备接收和发送的包的转储。实用程序将数据包存储在跟踪文件中。您可以使用这些文件调试发送到集群节点的数据包流中的问题。跟踪文件必须通过Wireshark应用程序查看。
ns跟踪实用程序的一些突出方面是:
- 可以配置为使用经典表达式和默认表达式来选择性地跟踪数据包。
- 可以以多种格式捕获跟踪:ns跟踪格式(.cap)和TCP转储格式(.pcap)。
- 可以在配置协调器上聚合所有集群节点的跟踪文件。
- 可以将多个跟踪文件合并为单个跟踪文件(仅用于。限制文件)。
您可以从Citrix ADC命令行或Citrix ADC shell中使用ns跟踪实用程序。
跟踪独立设备的数据包
在设备上运行start ns trace命令。该命令在/var/nstrace/
show ns trace用于查询状态。使用实例stop ns trace命令用于停止对报文的跟踪。
请注意
你也可以通过运行nstrace.sh文件在Citrix ADC shell中运行ns跟踪实用程序。但是,建议您通过Citrix ADC命令行接口使用ns跟踪实用程序。
跟踪集群的报文
您可以跟踪所有集群节点上的数据包,并在配置协调器上获得所有跟踪文件。
在集群IP地址上执行start ns trace命令。该命令将在所有集群节点上传播和运行。跟踪文件存储在/var/nstrace/ . xml文件中的各个集群节点中<时间戳>
目录中。跟踪文件名的格式为nstrace
您可以使用每个节点的跟踪文件来调试节点操作。但如果需要将所有集群节点的跟踪文件集中在一个位置,则必须在集群IP地址上执行stop ns trace命令。所有节点的跟踪文件都下载到集群配置协调器/var/nstrace/<时间戳>
目录如下:
合并多个跟踪文件
您可以从跟踪文件中准备单个文件(仅支持。Cap文件)从集群节点获取。单个跟踪文件为您提供了集群数据包跟踪的累积视图。单个跟踪文件中的跟踪项根据在集群上接收数据包的时间进行排序。
要合并跟踪文件,在Citrix ADC shell中输入:
> nstracem .sh -srcdir \ -dstdir \ -filename \ -filesize \ .sh
在那里,
srcdir
是从其中合并跟踪文件的目录。此目录中的所有跟踪文件都合并为一个文件。dstdir
创建合并跟踪文件的目录。文件名
所创建的跟踪文件的名称。文件大小
跟踪文件的大小。
例子
下面是一些使用ns trace实用程序过滤包的例子。
跟踪三个节点的背板接口报文。
使用经典表达:
> start nstrace -filter "INTF == 0/1/1 && INTF == 1/1/1 && INTF == 2/1/1"
使用默认表达式:
> start nstrace -filter "CONNECTION.INTF.EQ("0/1/1") && CONNECTION.INTF.EQ("1/1/1") && CONNECTION.INTF.EQ("2/1/1")")"
溯源IP地址为10.102.34.201或源端口大于80且服务名不为s1的系统报文。
使用经典表达
> start nstrace -filter "SOURCEIP == 10.102.34.201 || (SVCNAME != s1 && SOURCEPORT > 80)"
使用默认表达式
> start nstrace -filter "CONNECTION.SRCIP.EQ(10.102.34.201) || (CONNECTION.SVCNAME.NE("s1") && CONNECTION.SRCPORT.GT(80))"
请注意
有关nstrace中使用的过滤器的详细信息,请参见ns跟踪.
在跟踪期间捕获SSL会话密钥
执行“start ns trace”命令时,可以设置newcapsslkeys
参数捕获所有SSL会话的SSL主密钥。如果包含此参数,则一个名为nstrace的文件。sslkey与数据包跟踪一起生成。该文件可以导入到Wireshark中,对对应跟踪文件中的SSL流量进行解密。
此功能类似于web浏览器导出会话密钥,稍后可以将会话密钥导入Wireshark以解密SSL通信。
使用SSL会话密钥的优点
使用SSL会话密钥的优点如下:
- 生成较小的跟踪文件,其中不包括由SSLPLAIN捕获模式创建的额外包。
- 提供从跟踪中查看明文[SP(1]的功能,并选择是共享主密钥文件还是通过不共享来保护敏感数据。
使用SSL会话密钥的限制
以下是使用SSL会话密钥的限制:
- 如果不捕获会话的初始数据包,则无法解密SSL会话。
- 如果启用了联邦信息处理标准(FIPS)模式,则无法捕获SSL会话。
通过命令行获取SSL会话密钥。
在命令提示符下,键入以下命令以启用或禁用跟踪文件中的SSL会话密钥并验证跟踪操作。
> start nstrace -capsslkeys ENABLED > show nstrace示例> start nstrace -capsslkeys ENABLED > show nstrace State: RUNNING Scope: LOCAL TraceLocation: "/var/nstrace/04May2016_17_51_54/…"Nf: 24时间:3600大小:164模式:TXB NEW_RX Traceformat: NSCAP PerNIC: DISABLED FileName: 04May2016_17_51_54链接:DISABLED Merge: ONSTOP Doruntimecleanup: ENABLED TraceBuffers: 5000 SkipRPC: DISABLED SkipLocalSSH: DISABLED Capsslkeys: ENABLED InMemoryTrace: DISABLED Done
通过Citrix ADC图形界面配置SSL会话密钥
- 导航到配置>系统>诊断>技术支持工具并点击开始新的跟踪开始跟踪设备上的加密数据包。
- 在开始跟踪页,选择获取SSL主密钥复选框。
- 点击好吧而且完成.
使用实例导入SSL主密钥到Wireshark中
在Wireshark界面中,导航到Edit > Preferences > Protocols > SSL > (Pre)-Master-Secret日志文件名并指定从设备获得的主密钥文件。