提示
X
本案例来自tskb,请前往tskb修改源内容:立即前往
'>

基本排查-步骤三:抓取虚拟服务的关键数据包

|

问题描述

遇到虚拟服务访问失败或者卡慢时,如何高效的抓取关键数据包,对于分析问题是事半功倍的,下面主要讲述如何抓取到关键性的数据包!

有效排查步骤

拓扑简图:pc-ad-server


概念诠释:
虚拟服务模块经常会遇到两个词:前端和后端,前端是指PC-AD交互的数据,后端是指AD-SERVER交互的数据。

解决方案

通过数据包来分析整个过程是最基础的,每个节点如何抓包呢?
1、客户端电脑,电脑上一般使用wireshark工具、chrome的F12调试工具、IE的httpwatch工具、fiddler工具等;
例如chrome浏览器自带的调试工具非常好用,快捷键F12。

此外,IE浏览器的httpwatch也比较好用,默认不自带,需要单独安装。




2、设备上抓取前端的数据包(客户端<-->AD),设备业务流量比较大,需要限制客户端的IP来抓,例如tcpdump -i eth1 host 1.1.1.1 and tcp port 80 -s0 -w /tmp/qianduan.pcap -nvl

705及之后版本,在web控制台的系统管理-调试排障-抓包排查


3、同时AD设备上需要抓取后端数据包(AD<-->SERVER),该如何抓取到关键的数据包,需要分两种情况讨论:
3.1 虚拟服务没有SNAT功能
因为没有SNAT,所以后端的源ip是不会变化的,后端数据包则可以根据源ip来抓,tcpdump -i eth2 host 1.1.1.1 and tcp port 80 -s0 -w /tmp/houduan.pcap -nvl



3.2 虚拟服务启用了SNAT
因为启用了SNAT转换,后端的源IP地址会变化,不能再根据客户端PC地址来限制,只能根据目的ip地址,即节点的ip来限制,tcpdump -i eth2 host 3.3.3.3 and tcp port 80 -s0 -w /tmp/houduan.pcap -nvl  
PS:如果后端业务流量非常大,则抓包尽量快速,避免后端抓到太多的不相干数据。


4、服务器server上如果有条件同时抓是最好的,linux系统自带tcpdump即可,window系统需要单独安装wireshark工具。

操作影响范围

后台操作抓包或者部署抓包脚本时,一定注意问题处理完成后及时停止抓包,防止数据包量过大导致磁盘空间跑满导致设备异常!

建议与总结

注意事项:
AD7.0-AD7.04版本,后台业务口抓包需要使用adtcpdump命令,manage口使用tcpdump命令。
其他版本,均使用tcpdump即可!!!

我要分享
文档编号: 221501
作者: admin
更新时间: 2023-04-06 10:01
适用版本: