NetScaler循环抓包设置

来源 https://raynorli.com/2018/07/01/netscaler-nstrace-cycling-capture/

参考文档

How to Record Network Packet Trace on NetScaler Appliance

nstrace命令行参考

How to Export and Use SSL Session Keys to Decrypt SSL Traces Without Sharing the SSL Private Key

在处理一些无法100%复现的问题时,以下几种情况比较难以处理

1.由于尚不确定问题复现的触发条件,随机出现

2.系统管理员没有权限,只能等用户使用出现问题时报障,且出现故障概率很低

我们没有办法在问题发生时抓取数据或封包,此时需要设置循环抓包的方式来确保在在问题复现时可以抓到相应数据,来帮助分析和定位问题原因,进而找到解决方法。

NetScaler上的抓包工具提供了循环抓包的功能,根据我的一些经验,建议使用时按照以下步骤来进行


Step 1

确认NetScaler当前资源消耗情况,流量吞吐、磁盘空间、CPU、内存使用率等(MPX和VPX都一样)

这些参数在NetScaler的GUI的Dashboard界面都可以看到,以最新版的12.1举例

可以看到,黄色标出部分即是我们想看到的参数,一般来说CPU和内存不会是瓶颈,但是如果是100%或者很高的话最好需要先解决这部分问题,CPU关系到filter过滤的性能,吞吐量关系到抓包文件的大小,磁盘空间关系到是否能存得下来,这两个与我们抓包的关联性比较高。

磁盘空间也可以通过命令行界面来进行检查VAR文件夹使用率

 
1
2
3
4
5
6
7
8
root@NSVPX12# df -h
 
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/md0       395M    381M    5.2M    99%    /
devfs          1.0k    1.0k      0B   100%    /dev
procfs         4.0k    4.0k      0B   100%    /proc
/dev/da0s1a    1.6G    301M    1.1G    21%    /flash
/dev/da0s1e     13G    2.4G     10G    18%    /var

如果发现可用磁盘空间很少,可以检查以下几个目录下是否有很多旧的日志文件,可以根据生成时间将不需要用的备份出来然后删掉

 
1
2
3
/var/nstrace      -----------------   存抓包文件
/var/tmp/support   ----------------   存打包日志文件
/var/nslog/        ----------------   newnslog.*.tar.gz文件

Step 2

设置合适的filter过滤,通过实际在生产环境的5分钟抓包,来测试会产生多大的封包文件,通过这个数据来估算循环抓包的滚动时间。

命令行方式

 
1
2
3
4
> start nstrace -size 0 -filter "CONNECTION.IP.EQ(1.1.1.1)"
 Done
> stop nstrace
 Done

例如,如果抓包文件比较小,那么可以设置成3小时的循环,即每半个小时的抓包生成一个封包文件,正常抓到6个封包文件,再抓第7个的时候覆盖掉第1个封包文件,一般用户报障的延时是囊括住的

Tips

需要注意的是,由于抓包是nstrace进程在接口buffer中来抓取,如果背景流量较大,有可能应用filter的时候来不及过滤出目标封包,直观的结果就是封包没抓到。此时需要将filter取消了来抓,同样按照上面步骤来进行评估。


Step 3

此时可以开始配置循环抓包的参数了,每个参数的具体作用如下图

上面的参数的意思是,每个封包最大1个G,每个封包文件最长时间抓3600秒(1小时),一共最多抓24个封包(1天)

封包文件大小和封包文件抓取时长这两个限制条件,谁先达到就生效,即如果没到3600秒,但抓包文件达到1G的时候,此时就会抓下一个包了,总共只抓24个包。

如果想抓6个包,每个包抓30分钟,则应该这样设置

命令行方式

start nstrace -nf 6 -time 1800 -size 0


Step 4

结束抓包,看到6个封包文件,将其全部下载出来并进行下一步分析


其他一些抓包参数

link

 
1
2
3
4
5
Includes filtered connection's peer traffic.
 
Possible values: ENABLED, DISABLED
 
Default value: DISABLED

traceBuffers

 
1
2
3
4
5
Number of 16KB trace buffers
 
Default value: 5000
 
Minimum value: 1000

capsslkeys

 
1
2
3
4
5
6
7
Capture SSL Master keys. Master keys will not be captured on FIPS machine.
 
Warning: The captured keys can be used to decrypt information that may be confidential. The captured key files have to be stored in a secure environment
 
Possible values: ENABLED, DISABLED
 
Default value: DISABLED

=================== End

NetScaler循环抓包设置的更多相关文章

  1. Fiddler 抓包设置

    手机抓包设置 一:配置Fiddler参数 打开Fiddler菜单项Tools->TelerikFiddler Options->HTTPS, 勾选CaptureHTTPS CONNECTs ...

  2. Windows 使用windump进行循环抓包

    准备工作 1.下载tcpdump http://www.winpcap.org/windump/  2.下载WinPcaphttp://www.winpcap.org/install/bin/WinP ...

  3. charles 手机抓包设置

    本文参考:charles 抓包手机 charles经常会进行手机上的网页抓包,比如去copy别人网站图片或脚本的时候o(∩_∩)o : 手机抓包的原理,和PC类似,手机依靠charles与服务端进行对 ...

  4. Fiddler之常用操作(过滤器设置,代理设置,手机抓包设置,手机代理配置)

    记录下,工作中常用的一些设置和操作~ 1.过滤“脏”请求 两个下拉框的名词解释: A.内外网过滤 No Zone Filter:不分区域过滤(内网外网都显示) Show only Intranet H ...

  5. Android测试(三)——burpsuite抓包设置

    导出证书: 将证书导入模拟器中: 设置监听端口,透明代理(一定要设置这个): 进入adb shell,输入如下命令,即可抓包了:  iptables -t nat -A OUTPUT -p tcp - ...

  6. Fiddler手机抓包设置

    前提条件:1).电脑需要安装Fiddler2).测试手机需要支持Wifi3).测试手机与电脑需要同一网络4).所测APP需支持代理 三.设置Fiddler 1.(1)电脑端打开安装好的的fiddler ...

  7. Charles手机抓包设置&无法打开火狐网页设置

    1. Charles抓取手机上的网络包,需要安装证书(Charles的和手机的) 操作方法: https://blog.csdn.net/lea__dongyang/article/details/7 ...

  8. charles抓包工具的使用:手机抓包设置和安装证书

    一. 设置手机抓包 第一步:在charles里设置允许手机联网的权限,并设置接入接口 在Charles的菜单栏上选择"Proxy"->"Proxy Settings ...

  9. Fiddler抓包设置

    介绍 Fiddler 在 PC 端和移动端,模拟器抓取数据包 Fiddler抓取PC端数据包: 这里 Fiddler 抓取网页客户端的数据包时,其原理就是在 客户端/浏览器 和 服务器端 之间,加上了 ...

随机推荐

  1. QT Embedded二三事之QObject的元对象

    一.元对象  元对象被称做是meta object.在运行时刻(runtime),能够提供对象的运行时信息.        在C++语言发展的早期,C++语言本身没有定义对象的运行时信息,如输出类的名 ...

  2. 【转】Qt编写串口通信程序全程图文讲解

    本文章原创于www.yafeilinux.com 转载请注明出处. (说明:我们的编程环境是windows xp下,在Qt Creator中进行,如果在Linux下或直接用源码编写,程序稍有不同,请自 ...

  3. mysql 创建++删除 数据库

    创建RUNOOB数据库,并设定编码集为utf8 CREATE DATABASE IF NOT EXISTS RUNOOB DEFAULT CHARSET utf8 COLLATE utf8_gener ...

  4. hibernate关联总结

    在一对多与多对一的关联关系中,保存数据最好的通过多的一方来维护关系,这样可以减少update语句的生成,从而提高hibernate的执行效率! 配置一对多与多对一,这种叫“双向关联” 只配置一对多,  ...

  5. Django运行项目时候出现DisallowedHost at / Invalid HTTP_HOST header:

    web端错误现象: DisallowedHost at / Invalid HTTP_HOST header: 'ip:8000'. You may need to add u'ip' to ALLO ...

  6. C#.net winform skin 皮肤大全

    C#.net winform skin 皮肤大全 1. 东日IrisSkin IrisSkin 共有两个版本,一个是IrisSkin.dll 用于.Net Framework1.0/1.1 和Iris ...

  7. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-3.在线教育站点需求分析和架构设计

    笔记 3.在线教育站点需求分析和架构设计     简介:分析要开发的功能点和系统架构应该怎样架构 1.开发的功能:                     首页视频列表                ...

  8. 从源码看 Vue 中的 Mixin

    最近在做项目的时候碰到了一个奇怪的问题,通过 Vue.mixin 方法注入到 Vue 实例的一个方法不起作用了,后来经过仔细排查发现这个实例自己实现了一个同名方法,导致了 Vue.mixin 注入方法 ...

  9. 关于XMind软件文件格式的一些思考

    1,安装XMind软件,看见可以导入Markdown文件 2,因此新建了测试.md文件,代码格式为左图,显示效果为右图. 3,导入到XMind中显示为下图 4,也就是XMind中子标题对应着Markd ...

  10. 来聊聊JavaScript中的防抖和节流

    目录 JavaScript防抖和节流 问题还原 防抖 什么是防抖 使用场景 节流 什么是节流 使用场景 JavaScript防抖和节流 问题还原 我们先来通过代码把常见的问题还原: <html& ...