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. centos7 下设置 mongodb 开机启动 (重点)

    centos 7的开机启动跟之前版本的centos有很大不同.现在用 systemctl命令代替了之前的chkconfig 和 service 命令 注册到开机启动的方法如下: 在系统服务目录下新建m ...

  2. MySql、PostgreSql、SqlServer三种数据库的造数存储过程实例

    主要实例:把临时表tmp_table数据插入到目标表target_table 一.MySql造数存储过程实例 mysql造数 -- 第一步,创建临时表 CREATE TEMPORARY TABLE I ...

  3. ios-runtime拦截touch事件,展示用户触摸效果

    [展示效果说明] 对 app 操作录屏时,展示出手指在 app 上的触摸效果可以看到具体点击情况,感觉这样比较直观方便,也不用做视频后期了. 这里简单用 runtime 实现了一个这样的效果,不需要修 ...

  4. leetcode16 最接近的三数之和

    做了几周的hard之后,这道题居然轻易就解出来了,稍微debug了一下就ac了,算是有了一丢丢提高把: 思路 这道题因为和三数之和很像,所以充分利用双指针的思想:先排序,然后再固定一个数i,i取值从[ ...

  5. handler四元素

    Looper 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列). 我们知道一个线程是一段可执行的代码,当可执行代码执行完成后,线程生命周期便会终止,线程就 ...

  6. [windows] install cross-env with cnpm instead of yarn or npm

    环境是 windows下通过vagrant运行虚拟机(ubuntu) Host:windows 10 Guest: ubuntu(vagrant) 根据之前的经验,不要在 Guest环境中执行npm ...

  7. Linux命令集锦:chmod命令

    chmod命令是用来变更文件或目录的权限. 权限范围的表示法如下: u:User,即文件或目录的拥有者: g:Group,即文件或目录的所属群组: o:Other,除了文件或目录拥有者或所属群组之外, ...

  8. ActionScript的for循环

    actionscript支持的for循环有三种形式: 1.for(初始值;条件;递增) 例如: for(var x:int=1;x<=10;x++) trace(x); trace()会把结果输 ...

  9. htop/dstat/top/ps命令的使用

    top命令 ​ 显示系统中进程信息 [root@node0 ~]# top top - 09:36:45 up 13:39, 3 users, load average: 0.02, 0.03, 0. ...

  10. 【并行计算-CUDA开发】显卡两大生产商

    ATI显卡 ATI显卡即AMD显卡.俗称A卡.搭载AMD公司出品的显示芯片.与NVIDIA齐名,同为世界两大显示芯片厂商. 不同的是AMD不是只有显卡,而且还出品CPU(处理器),其AMD处理器与In ...