QQ 流量分析:用 Wireshark 抓自己的 QQ,它到底是 TCP 还是 UDP?加密了吗?能恢复出明文文件吗?

实验环境

  • 操作系统:Windows 11
  • QQ 版本:Windows 桌面版(NTQQ)
  • 抓包工具:Wireshark 4.6.9(Npcap 抓包驱动)
  • 抓包网卡:WLAN

实验方法

  1. 双击 WLAN 网卡开始抓包;
  2. 登录 QQ,向好友发送一条文字消息和一张图片;
  3. 通过 PowerShell 的 Get-NetTCPConnection 找到 QQ 进程(QQ.exe/ QQEX.exe)建立的远程服务器 IP;
  4. 在 Wireshark 显示过滤器中输入这些 IP,筛选出 QQ 流量。

image

一、QQ 使用 UDP 还是 TCP?

观察到 QQ 进程与所有服务器(120.233.x.x、36.159.x.x 等腾讯 IP)之间全部建立在 TCP 443 端口上,抓包中未出现 UDP 8000 等传统 QQ OICQ 协议包。

结论:当前版本 QQ 客户端主要使用 TCP 传输数据。

2-QQ包列表_TCP443_TLS

二、QQ 通信是加密还是明文?

对 QQ 的 TCP 连接执行 Follow → TCP Stream:

  • 数据包被 Wireshark 识别为 TLSv1.2,包含 Application Data、Encrypted Alert 等记录;
  • 流内容除 TLS 握手阶段的 SNI 域名(如 theve.beacon.qq.com)外,全部为不可读二进制乱码;
  • 无法还原聊天文字等任何应用层内容。

十六进制视图中,TLS 握手阶段明文暴露了 SNI 域名 theve.beacon.qq.com,握手完成后所有应用数据均加密:

结论:QQ 通信已 TLS 加密,抓包只能看到 "和谁、何时、传了多少",看不到具体内容。

3-Follow_TCP_Stream乱码

4-Hex视图

| 三、能否从流量中恢复出明文文件?

这道题的思路是:不同文件类型有固定的文件头特征码,可以在抓包的十六进制流中搜索:

表格

文件类型 文件头特征码(十六进制)
JPEG 图片 FF D8 FF
PNG 图片 89 50 4E 47
GIF 图片 47 49 46 38
ZIP 压缩包 50 4B 03 04
PDF 文档 25 50 44 46

我在 Follow TCP Stream 的十六进制视图中搜索 FF D8 FF(JPEG)和 89 50 4E 47(PNG),均未找到匹配。因为聊天中发送的图片同样走 TLS 加密通道,文件内容被封装在 TLS Application Data 记录中,在 Wireshark 中表现为无意义的二进制乱码。

作为对比,之前用 netcat 做明文 TCP 聊天实验时,Follow Stream 可以完整看到双方对话内容,这就是明文协议和加密协议的本质区别。

结论:现代 QQ 客户端的文件传输同样经过 TLS 加密,无法从网络流量中直接恢复出图片或文件。

posted @ 2026-10-14 16:44  HAPPY-YZY  阅读(9)  评论(0)    收藏  举报