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. Nginx数据结构之内存池

    基本结构 1. ngx_pool_t struct ngx_pool_s { ngx_pool_data_t d; size_t max; ngx_pool_t *current; ngx_chain ...

  2. jQuery常用Event-API

    目的:对web页面(HTML/JSP)进行事件触发,完成特殊效果的处理 window.onload:在浏览器加载web页面时触发,可以写多次onload事件,但后者覆盖前者 ready:在浏览器加载w ...

  3. Threadlocal源码分析以及其中WeakReference作用分析

    今天在看Spring 3.x企业应用开发实战,第九章 Spring的事务管理,9.2.2节ThreadLocal的接口方法时,书上有提到Threadlocal的简单实现,我就去看了下JDK1.8的Th ...

  4. java+服务器上传和下载文件

    1.介绍enctype enctype 属性规定发送到服务器之前应该如何对表单数据进行编码. enctype作用是告知服务器请求正文的MIME类型(请求消息头content-type的作用一样) 1. ...

  5. kettle mogodb output详解

    以下主要来自官网文档,原文:https://wiki.pentaho.com/display/EAI/MongoDB+Output Configure Connection Tab 1 Host na ...

  6. Java日志体系(六)log4j2

    1.1 简介 log4j2,一个日志的实现框架,是log4j的升级版本,于2014年7月正式亮相.与第一代log4j不同,log4j2完全重写了log4j的日志实现,并不是在原有基础上进行的升级,解决 ...

  7. Zabbix官方部署搭建

    Zabbix在企业生产环境中是用的最广泛的服务器监控软件,其功能强大.配置简单.开源免费,是企业监控软件的首选. 一.Zabbix简介   zabbix是一个基于WEB界面的提供分布式系统监视以及网络 ...

  8. Mysql安装后在服务里找不到和服务启动不起来的解决方法

    一,在安装完Mysql数据库后,发现在控制面板->管理->服务中找不到Mysql的服务启动 解决方法如下:开启命令行,按照如下步骤即可: 1.进入到mysql的安装包,在bin里执行:my ...

  9. 【计算机视觉】行人检测(Pedestrian Detection)资源

    一.论文 综述类的文章 [1]P.Dollar, C. Wojek,B. Schiele, et al. Pedestrian detection: an evaluation of the stat ...

  10. Guava源码阅读-base-Strings

    package com.google.common.base; 今天阅读的是Srings类,这在程序中经常使用. 比如判断字符串是否为空,我们在之前用jdk方法判断是会用下面这个判断语句. if( i ...