Wireshark网络数据包深度分析报告

核心目标:掌握通过Wireshark实现网络流量捕获、过滤、诊断的全链路方法
适用场景:网络故障排查、安全攻击分析、协议交互调试、性能优化


一、Wireshark核心功能架构

┌───────────────────────┐  
│  **数据包捕获引擎**   │←←(依赖WinPcap/Npcap)  
│  实时抓取网卡流量     │  
└──────────┬────────────┘  
           ↓  
┌───────────────────────┐  
│  **分层协议解析器**   │  
│  HTTP/TCP/DNS等800+协议│  
└──────────┬────────────┘  
           ↓  
┌───────────────────────┐  
│  **交互式分析界面**   │  
│  过滤器/统计/图表/跟踪  │  
└───────────────────────┘  

二、核心操作全流程详解

步骤1:环境配置与抓包启动
  1. 网卡选择

    • 启动Wireshark → 选择活跃网卡(如"Wi-Fi"或"Ethernet")
    • 关键操作禁用混杂模式(避免捕获非本机流量,需管理员权限)
  2. 捕获过滤器预设置

    • 语法示例:host 192.168.1.100 and port 80(仅抓目标IP的HTTP流量)
    • 避免全量抓包导致内存溢出
步骤2:实时流量捕获与关键操作
界面区域功能说明操作技巧
数据包列表显示时间/源IP/目标IP/协议/长度单击排序,右键标记关键包
协议分层详情解析各层头部信息展开查看MAC/IP/TCP/HTTP字段
原始字节流16进制+ASCII格式原始数据搜索关键字(如"password")

示范操作

  • 快速定位HTTP请求:过滤器输入 http.request.method == "GET"
  • 跟踪TCP会话流:右键包 → Follow → TCP Stream(自动染色关联数据包)
步骤3:高效过滤器语法(核心技能)
类型语法示例作用
IP过滤ip.src == 192.168.1.1源IP匹配
端口过滤tcp.port == 443TCP源或目标端口为443
协议过滤dnsssl显示DNS或TLS/SSL流量
内容过滤http contains "error"HTTP包正文包含"error"
复合逻辑tcp.port == 80 && ip.addr == 8.8.8.880端口且涉及8.8.8.8的流量

💡 绿色过滤器栏:语法正确显示绿色,错误显示红色

▶ **步骤4:高级分析工具
  1. 统计视图

    • 协议分级统计Statistics → Protocol Hierarchy → 定位异常协议占比
    • 会话矩阵Statistics → Conversations → 查看Top流量主机对(排查带宽滥用)
  2. 流量图形化

    • IO图表Statistics → I/O Graph
      • X轴:时间,Y轴:包数量/字节速率
      • 叠加过滤器(如tcp.analysis.retransmission显示重传率)
    • 吞吐量趋势:右键TCP流 → Flow Graph
  3. 问题诊断专家系统

    • Analyze → Expert Info
      • 分级告警:Error(如TCP校验失败)、Warning(如重复ACK)

三、实战分析案例:HTTP登录异常诊断

问题现象

用户提交登录表单后页面无响应

Wireshark诊断流程
  1. 抓包过滤ip.addr == 用户IP and port 80
  2. 关键线索追踪
    • 定位HTTP POST请求 → 右键 Follow → HTTP Stream
    • 发现服务器返回 HTTP/1.1 500 Internal Server Error
  3. 关联分析
    • 检查同一TCP流的连续包:tcp.stream eq 12
    • 发现POST前有多次 TCP Retransmission(网络延迟导致超时)
  4. 结论
    • 客户端提交时网络闪断 → POST请求超时重传 → 触发服务器端会话锁
解决措施

优化前端重试机制 + 服务器会话超时设置调整


四、安全攻防分析示例:ARP欺骗检测

1. 过滤器:`arp`  
2. 检测逻辑:  
   - 同一IP对应多个MAC地址 → 提示ARP欺骗  
   - 统计:`Statistics → Endpoints → ARP Tab`  
3. 特征包示例:  
   Address Resolution Protocol (request/gratuitous ARP)  
      Sender MAC: **00:11:22:33:44:55**  
      Sender IP: **192.168.1.1**  
      Target MAC: 00:00:00:00:00:00  
      Target IP: 192.168.1.1  

⚠️ 防御建议:启用交换机端口安全特性


五、性能优化关键指标

指标过滤器分析意义
TCP重传率tcp.analysis.retransmission>5%表明网络质量差/拥塞
零窗口事件tcp.window_size == 0接收方处理能力不足
高延迟响应tcp.time_delta > 1服务端处理超时
SYN泛洪攻击tcp.flags.syn==1 && !tcp.flags.ack每秒SYN包>1000可能为攻击

六、高阶技巧与注意事项

  1. 捕获文件分割

    • 大流量场景 → Capture → Options → Output → 设置文件分割规则(如每100MB)
  2. TLS解密

    • 配置SSL密钥:Edit → Preferences → Protocols → TLS
    • 添加服务器的RSA私钥 → 解密HTTPS流量
  3. 法律与伦理红线

    • 禁止未经授权抓取他人网络流量(违反《网络安全法》)
    • 仅限授权网络或本机流量分析

结论

Wireshark的核心价值在于三层能力

  1. 精准捕获:过滤器语法压缩问题范围
  2. 深度解码:协议解析揭示通信细节
  3. 可视化关联:统计工具定位异常模式
    终极目标:将原始数据包转化为可行动的故障诊断或优化建议。掌握此工具,网络数据在你眼中再无秘密
西安郵電學院 计算机网络技术及应用实验 报 告 书 "系部名称 ": "管理工程学院 " "学生姓名 ": "*** " "专业名称 ": "********* " "班 级 ": "**** " "学号 ": "******** " "时间 ": "2012年04月01日 " 实验题目 Wireshark抓包分析实验 1. 实验目的 1.了解并会初步使用Wireshark,能在所用电脑上进行抓包 2.了解IP数据包格式,能应用该软件分析数据包格式 3.查看一个抓到的包的内容,并分析对应的IP数据包格式 二.实验内容 1.安装Wireshark,简单描述安装步骤。 安装过程:点击安装图标 接着出现如图所示: 点击next后按如下步骤: 在"License Agreement"窗口下点击'I Agree',弹出"Choose Components"窗口,点'next' 后弹出"Select Additional Tasks"窗口,点'next'又弹出"Choose Install Location"窗口后再点'next',弹出"Install Winpcap"窗口(选'Install Winpcap4.12')点击'Install',接着弹出"Installing"窗口(在运行时弹出"Winpcap4 .12 Set up"窗口,点击'确定',且在接下来弹出的窗口下按如下步骤点击:next—next—I Agree—Install—finsh),接着点击'next'弹出如下窗口: 并选择'Run Wireshork1.6.3(32bit)'并点击'Finsh': 2.打开wireshark,选择接口选项列表。或单击"Capture",配置"option"选项。 3.设置完成后,点击"start"开始抓包. 显示结果: 4.选择某一行抓包结果,双击查看此数据包具体结构如下: 三.捕捉IP数据包数据包信息: 1. 写出IP数据包的格式如下: 2. 将捕捉的IP数据包分析得出格式图例如下: 3. 针对每一个域所代表的含义进行解释。 IP数据报首部各部分含义: 版本 占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。目前广泛使用的 IP协议版本号为4(即IPv4)。 首部长度 占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是 32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15) ,首部长度就达到60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后的 填充字段加以填充。因此数据部分永远在4字节的整数倍开始,这样在实现IP协议时较为 方便。首部长度限制为60 字节的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常用的首部 区分服务 占8位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上 一直没有被使用过。1998年IETF把这个字段改名为区分服务DS(Differentiated Services)。只有在使用区分服务时,这个字段才起作用。 总长度 总长度指首部和数据之和的长度,单位为字节。总长度字段为16位,因此数据 报的最大长度为216- 1=65535字节。长度就是20字节(即首部长度为0101),这时不使用任何选项。 标识(identification) 占16位。IP软件在存储器中维持一个计数器,每产生一个数据 报,计数器就加1,并将此值赋给标识字段。但这个"标识"并不是序号,因为IP是无连接 服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分片时, 这个标识字段的值就被复制到所有的数据报的标识字段中。相同的标识字段的值使分片 后的各数据报片最后能正确地重装成为原来的数据报。 标志(flag) 占3位,但目前只有2位有意义。标志字段中的最低位记为MF(More Fragment)。MF=1即表示后面"还有分片"的数据报。MF=0表示这已是若干数据报片中的最 后一个。标志字段中间的一位记为DF(Don't Fragment),意思是"不能分片"。只有当DF=0时才允许分片。 片偏移 占13位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也 就是说,相对用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位。这 就是说,每个分片的长度一定是8字节(64位)的整数倍。 生存时间 占8位,生存时间字段常用的的英文缩写是TTL(Time To Live),表明是数据报在网络中的寿命。由发出数据报的源点设置这个字段。其目的是防 止无法交付的数据报无限制地在因特网中兜圈子,因而白白消耗网络资源。最初的设计 是以秒作为TTL的单位。每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值