数据包分析思路方法分享

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 面对越来越复杂的网络环境,每天发生着数以万亿的数据交互,一旦出现问题我们就需要快速去定位解决,那么我们就必须储备丰富的知识,利用手头各种工具帮助我们来分析问题。但有时应用日志、网管平台等看起来一切都没有异常,分析变得一筹莫展,这是就需要使用数据包分析技术,来深入探索每一个 TCP 连接及上层应用,最终来定位问题。

面对越来越复杂的网络环境,每天发生着数以万亿的数据交互,一旦出现问题我们就需要快速去定位解决,那么我们就必须储备丰富的知识,利用手头各种工具帮助我们来分析问题。


但有时应用日志、网管平台等看起来一切都没有异常,分析变得一筹莫展,这是就需要使用数据包分析技术,来深入探索每一个 TCP 连接及上层应用,最终来定位问题。


数据包分析的切入点很大程度上取决于具体的问题现象,也就是说并没有一个绝对固定不变的流程。那么如何去做好数据分析,分享下我的一些心得供大家来进行参考。


1、明确故障现象

针对我们要分析的问题首先需要有个全面的了解,了解的也详细对我们分析根因越有帮忙。这里就像我们写记叙文一样要掌握这个故障问题的时间地点人物事件四要素。

  • 时间:问题发生的准确时间点是第一要素,数据流交互过程以毫米、微秒、纳秒计算,需要在海量数据中提取数据需要明确的时间范围。
  • 地点:在网络拓扑上,问题发生在哪里,涉及哪些设备和路径。
  • 事件: 故障现象的真实描述,还原现场,真实的现场还原描述是分析问题的基础,任何一个细节都有可能是突破口。
  • 人物:受到影响的用户是谁?或者波及的范围有多大?问题波及的用户面可以快速帮助我们判断问题发生的层次、位置。


2、获取有效数据

是否能够获取有效的数据,对我们分析起到至关重要的影响。有效的数据往往就是事半功倍。我们在实际环境中,主要通过以下四个步骤。

  1. 逻辑拓扑:了解应用逻辑和数据路径,以及物理拓扑
  • 对于多层架构的应用,发生问题不再是请求/响应这样单一的过程。
  • 了解业务逻辑拓扑是为了获取有效数据包、制定下一步的分析策略。
  1. 关键节点:把握数据路径上的关键环节
  • 网络层:防火墙、应用交付类设施,这些设施可以改变、控制业务数据流,即有可能影响到业务交互。
  • 应用层:按照逻辑架构(Web、App、DB...),结合问题现象,列出关键节点。
  • 客户端:影响到终端的问题,在客户端进行模拟测试可以获得真实现象信息。


在这里可能会涉及到流量镜像位置的选择,一般会基于以下的策略:

1)根据故障或者异常现象,首先确认用户到应用服务器的数据访问路径。

2)从靠近应用服务器的一端开始,定位问题发生的层面(应用服务自身层面的原因?还是网络传输层面的原因?)。

3)在网络层面,重点关注防火墙、负载均衡类设备(当有负载均衡类设备或者负载均衡链路时,要注意可能需要同时捕获多个端口的流量才能获得完整的TCP 会话数据)。

4)在数据路径上多点同时捕获数据,进行对比分析。

5)根据故障或者异常现象发生的范围特征,灵活选取数据捕获的关键点。


  1. 捕获数据:完整、少重复、时间同步
  • 确保完整性,不丢包,不乱序。
  • SPAN策略
  • 活动端口,全单向,封闭(Port Channel 除外)
  • 负载均衡汇聚
  • 高负载两个Session 分摊
  • 级联端口Both镜像
  • 广域网出口,IN/OUT分开
  • 避免数据繁冗,尽量少的重复。
  • 在多点捕获情况下确保时间同步。


  1. 过滤数据:排除干扰,在海量数据中找到最能反映问题的数据
  • 疑难杂症往往最终是通过极少数的数据分析诊断出来的,能够快速过滤出目标数据可以大大提高故障诊断效率。
  • 定义过滤器常用的条件包括:时间、IP地址、协议、端口号、Vlan、QoS、特征值等等,以及用以上条件组合而成的复合条件。
  • 过滤器可以在捕获前设置,只捕获相关的目标数据;也可以在捕获之后设置 ,从捕获到到全部数据中提取出目标数据。
  • 现有的流量分析工具通常使用逻辑表达式的方式进行过滤器定义,有些具有图形化的定义界面。


3、深入分析数据

虽然问题现象千差万别,但总体上我们可以用排除法判断在哪些层次没有发生问题,快速把分析的重点找到,大概可以划分为如下三层:

  • 网络层
  • 指标是相对通用化的。
  • 多点对比分析常常用于网络设备层设备故障排查。
  • 传输层

通常我们利用通用的 TCP /UDP模型,分析其通信过程和具体行为。

  • TCP:1)反应系统层问题——扩大因子、Nagle、Delayed Ack等。

 2)反映应用层问题——窗口、响应时间、状态机变迁等。

  • UDP:主要涉及应用层分析。
  • 应用层
  • 应用层指标则是专用的,应对于各种业务应用。
  • 可以识别的,包括应用层代码、响应时间、连接分析等。
  • 正常/异常时的对比是分析行为的有效方法。


4、重在千锤百炼

分析数据包是一项耗时耗力的精细活,不是一朝一夕可以全部掌握,重点在积累,分析的多了无师也能自通。那么如何获取经验,然后成为他人口中的高手,总结几点如下:

  • 经验获得
  • 在现场做故障诊断,往往受到很多外界因素影响。
  • 每个案例分析过后再回顾,一定可以发现并归纳出一些技术、技巧以及思路上的优化方法。
  • 行业化的应用模式具有通用性,特别是金融行业,应用通信模式有很多相似性。
  • 只有类似的案例,没有一模一样的案例,在回顾和思考中深入理解知识点和其应用模式。
  • 经验可贵,但不是全部,走投无路的时候要放弃经验。
  • 成为高手
  • 熟悉TCP/IP理论
  • 熟练分析工具的使用方法,事半功倍
  • 精通网络架构和业务架构
  • 了解操作系统的TCP配置及影响
  • 形成分析问题的思路
  • 多看案例分析
  • 多动手多分析多总结
  • 书籍推荐
  • 经典之作
  • TCP/IP详解卷一
  • 图解TCP/IP
  • 程序是怎么跑起来的
  • 计算机是怎么跑起来的
  • 网络是怎么连接的
  • HTTP权威指南
  • Wireshark
  • Wireshark网络分析就这么简单
  • Wireshark网络分析的艺术
  • Wireshark数据包分析实战 第3版


如果在实际工作中遇到网络故障问题,或者你怀疑是网络引起的问题,那么也是很好的机会。可以参考下以上内容进行抓包分析。关于如何分析数据包的分享就到这里了,希望可以给你带来一点点帮助。附注上整理的思维导图。

数据包分析思路1 (1).png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
LaTeX数学模式中的矩阵
LaTeX数学模式中的矩阵
1462 0
LaTeX数学模式中的矩阵
|
10月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
597 3
|
6月前
|
人工智能 自然语言处理 自动驾驶
AVD2:清华联合复旦等机构推出的自动驾驶事故视频理解与生成框架
AVD2 是由清华大学联合多所高校推出的自动驾驶事故视频理解与生成框架,结合视频生成与事故分析,生成高质量的事故描述、原因分析和预防措施,显著提升自动驾驶系统的安全性和可靠性。
113 6
|
11月前
|
消息中间件 NoSQL Java
Flink-06 Flink Java 3分钟上手 滚动窗口 时间驱动 Kafka TumblingWindow TimeWindowFunction TumblingProcessing
Flink-06 Flink Java 3分钟上手 滚动窗口 时间驱动 Kafka TumblingWindow TimeWindowFunction TumblingProcessing
162 0
|
网络协议 安全 Linux
网络扫描神器:Nmap 保姆级教程(附链接)
网络扫描神器:Nmap 保姆级教程(附链接)
|
安全 Linux 文件存储
在Linux中,服务器开不了机怎么解决⼀步步的排查?
在Linux中,服务器开不了机怎么解决⼀步步的排查?
|
安全 虚拟化 Docker
在win10中使用ModelScope官方镜像
为在办公环境笔记本win10上测试ModelScope的开源模型 ,记录踩坑过程
2520 0
在win10中使用ModelScope官方镜像
|
机器学习/深度学习 数据采集 人工智能
「AIGC」Stable Diffusion教程详解
**Stable Diffusion教程摘要:** Stable Diffusion是AI绘画工具,利用GAN学习艺术家风格。基础教程涵盖软件介绍、配置需求(NVIDIA GPU、Windows 10/11)、安装及基础操作,如模型切换、VAE使用、采样步数调整等。AI作画原理涉及U-net、Diffusion模型、文本映射(如CLIP)和条件生成。Stable Diffusion运用Latent Diffusion Model从潜在空间生成高清图像,开源且在艺术创作中广泛应用。
470 0
|
安全 网络安全 数据安全/隐私保护
HTTP的常见四种认证方式
【2月更文挑战第20天】