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. 网络流,设备、插头和转接器建图(简单map的应用)

    题意: 给你n个插座,m个设备,每台设备都有对应的插座,有k个转接器. 要求:求满足不能插上插座的用电器最少个数 solution: HINT:每种适配器都有无限个,所以建图的时候要改为INF. 答案 ...

  2. vga转HDMI与hdmi转VGA区别

  3. docker安装并设置开机启动(CentOS7/8)

    CentOS7.2 docker分为CE和EE版本,EE版本收费,一般我们使用CE版本就满足要求了 docker安装及启动 docker安装很简单,直接使用如下命令安装即可,安装后的docker版本即 ...

  4. 在 bat 批处理中运行多次 mvn

    在 bat 中运行 mvn 命令会出现这种情况,构建命令执行完成后会停留在的 mvn.bat 中,必需手工输入 exit 后,才会回到原来的脚本中继续运行.这是怎么回事? 到 maven 的安装目录下 ...

  5. Mac下安装brew

    1.Mac 终端下,执行以下命令,即可安装brew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Hom ...

  6. PhoneUtils

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class PhoneUtils { /** * @par ...

  7. window 10 安装vs2013启动web项目报错Id端口不能启动iis

    https://www.cnblogs.com/leolion/p/3789732.html 如果我们想在Visual Studio2013上调试64位ASP.NET MVC的网站(本机环境X64), ...

  8. python-Web-django-商城-购物车商品加减

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 感知器做二分类的原理及python实现

    本文目录: 1. 感知器 2. 感知器的训练法则 3. 梯度下降和delta法则 4. python实现 1. 感知器[1] 人工神经网络以感知器(perceptron)为基础.感知器以一个实数值向量 ...

  10. 二分查找算法C++实现

    /************************************************************************* > File Name: binary_se ...