抓包(捕获数据包)本身不难,难的是抓下来之后能看出什么——而在九成以上流量都已加密的 2026 年,能读的内容越来越少,能看的"行为"越来越重要。
这里要先把一个方向说清楚:监视与分析本身是一个中性手段。2-1 讲的窃听是攻击者用它;这一节讲的是防守方用它来了解自己的网络。同一件事,看谁在做、做在谁的网络上。
它承接 应当在哪里防御 里的"要有可见性",也是 外部入侵的检测和防御 的数据来源——检测设备吃的就是这个东西。
一、捕获数据包在做什么
网络上的数据是一小段一小段传的,每一小段叫一个数据包。捕获数据包就是:把经过某一处的数据包复制一份存下来,形成一个文件,之后再慢慢分析。
要做这件事,需要三个条件:
- 一个位置——你得站在数据经过的地方。常见做法是把交换机的某个端口设成镜像口(把所有流量复制一份给它),或者用分光器在链路上复制。
- 一个权限——抓包需要能"看到别人的数据包",这在操作系统里是特权操作。
- 一个工具——记录用的工具(命令行下最常用的是
tcpdump)和分析用的工具(图形界面最常用的是 Wireshark)。
保存下来的文件一般叫 pcap 文件。
二、"抓"和"分析"是两件不同的事
这一点值得单独强调,因为很多人以为"抓到了就完了"。
- 抓解决的是"有没有原始材料";
- 分析解决的是"这些材料说明了什么"。
现实里最常见的失败模式是:抓了一大堆文件,没有人看。磁盘塞满了,出事的时候才发现里面全是要不了的东西——该抓的没抓,不该留的留了一堆。
所以"分析"这一半要靠两件事支撑:
- 有明确的问题——你在查什么?"为什么今天上午十点网站变慢"和"有没有人在往外面传数据"需要抓的东西完全不同。
- 有几个"正常"的参照——没有基线,你看到什么都觉得正常。基线是分析的起点,不是抓包。
三、能看见什么,取决于加不加密
这是本节的核心。抓包抓到的永远是原始字节,但"能不能读懂"完全取决于传输方式。三种典型情况:
| 情况 | 能看到 | 看不到 |
|---|---|---|
| 明文传输 | 全部:网址、表单、Cookie、正文 | —— |
| 一般加密 | 通信双方地址、端口、时间、数据量;域名(通常是可见的) | 内容全部 |
| 更强加密(含域名加密) | 只剩地址、端口、时间、数据量 | 内容,以及你要访问的是哪个网站 |
所以今天的现实是:抓包的主要价值,从"读内容"转移到了"看行为"。
那"看行为"能看出什么?几条最实用的:
- 谁在跟谁说话——包括跟哪些国家/地区、哪些服务商。
- 多频繁、什么时间——比如一台机器每 60 秒准时连一次某个外部地址,这个规律本身就是信号(正常的软件更新不会这么规律)。
- 传了多少——数据量突变是最直观的信号(一个平时每天传 50 MB 的机器突然传了 10 GB)。
- 用的是什么协议——明文协议出现在不该出现的地方,就是问题。
- 证书相关的异常——证书是自签名的?名字和实际用的服务对不上?这些在加密流量里依然可观察。
一句话:看不到"说了什么",但能看到"谁在什么时间、用什么方式、跟谁说了多少"。 这已经足够支撑很多判断。
四、动手 Demo:十类流量,抓下来各能看见什么
items = [
("HTTP 明文网页", "全部可见(网址、表单、正文)", 1),
("HTTPS / TLS 1.3", "只见地址与端口;域名(SNI)通常仍可见", 0),
("QUIC / HTTP3", "只见地址与端口;域名默认也被加密", 0),
("明文 DNS(53 端口)", "你查了哪些域名,一览无余", 1),
("加密 DNS(DoH / DoT)", "只剩目的 IP,看不到域名", 0),
("明文 FTP / Telnet", "连口令都是明文", 1),
("明文 SMTP 邮件", "邮件内容与收件人可见", 1),
("SSH 远程登录", "只见流量大小与时间节奏", 0),
("内网明文共享(SMB)", "文件名与内容可见", 1),
("内网加密共享", "只见谁在跟谁连", 0),
]
实跑输出:
流量类型 从抓到的包里能看到什么 看得见内容
------------------------------------------------------------------------------------------
HTTP 明文网页 全部可见(网址、表单、正文) 是
HTTPS / TLS 1.3 只见地址与端口;域名(SNI)通常仍可见 否
QUIC / HTTP3 只见地址与端口;域名默认也被加密 否
明文 DNS(53 端口) 你查了哪些域名,一览无余 是
加密 DNS(DoH / DoT) 只剩目的 IP,看不到域名 否
明文 FTP / Telnet 连口令都是明文 是
明文 SMTP 邮件 邮件内容与收件人可见 是
SSH 远程登录 只见流量大小与时间节奏 否
内网明文共享(SMB) 文件名与内容可见 是
内网加密共享 只见谁在跟谁连 否
十类里只有 5 类能看到内容,其余 5 类只能看到【谁在跟谁说话】。
① 这就是今天的真实处境:抓包这件事本身还做得到,
但因为 94.65% 的网页请求和 98.9% 的人产生的流量都已加密,
靠【读内容】来判断威胁越来越不现实。
② 密码学给不出答案的时候,就只能看【行为】:
连接频率、目标分布、传输体量、时间规律、证书是否异常。
新一代网络检测响应就是走这条路——不解密,从元数据里找异常。
③ 剩下真正能读的那几类,恰恰是家里和小企业最常留着的:
明文 DNS、明文共享、明文 FTP。
把这几样换成加密版本,比多买一台检测设备划算得多。
④ 提醒一句边界:抓包要在【你自己有权管的网络】里做。
抓别人的链路,性质就从取证变成非法获取数据了(见 2-4)。
读这个输出:最值得看的是"看得见内容"这一列——十类里只剩五类。再注意后三条:可读的那几类(明文 DNS、明文共享、明文 FTP)恰恰是日常最没被当回事的。从中能得到一个反直觉的结论:把这些换成加密版本,既保护了自己,也让攻击者更难藏在明文里——而这一步的成本远低于买检测设备。
五、监视与分析的三个实用要点
- 抓什么比抓多少重要。 先想清楚要回答什么问题,再决定抓哪一段、留多久、留多大。全量长期保存既贵又没人看。
- 要有基线。 同一台机器、同一时段、正常情况下的连接数和数据量是多少?没有基线,异常看起来和正常一样。
- 合法边界必须清楚。 抓包要在你自己有权管理的网络里做。抓别人的链路,性质就从"取证"变成"非法获取计算机信息系统数据"了(对照 2-4)。在企业环境里,这件事通常还需要在制度上写清楚(告知、授权、留存期限)。
六、⚠️ 2026 现状
- 加密已经基本铺满,这是所有分析工作的前提。 2026 年的统计是:人产生的网络流量中约 98.9% 已加密,网页请求中约 94.65% 加密。TLS 1.0/1.1 已经降到 0.01%(统计意义上消失),TLS 1.2 一年里从 4.43% 腰斩到 2.68%。结论很直接:基于"读载荷"的深度包检测,在今天已经难以支撑主要判断。
- 行业转向"元数据+行为分析"。 主流的思路是不解密内容,而从连接频率、目标分布、证书异常、流量形态这些信号判断风险。行业观察说得很清楚:随着加密普及,传统基于载荷的深度包检测难以为继,新一代网络检测响应转向元数据与行为分析,并与防火墙、终端检测联动形成闭环。
- 时间尺度压缩到"分钟级"。 多份年度报告都指出,从初始入侵到数据外泄的平均时间已经压到小时级,有报告给出"平均不到 4 小时"这样的量级。由此推出一个硬要求:检测侧必须在分钟级发现异常。 这也解释了为什么"事后翻 pcap"这种模式在今天只能用于复盘取证,不能作为主要发现手段。
- 有几个具体的观察点值得记住。 有技术综述提到,新一代网络检测响应的具体信号包括:异常的证书信息、连接频率与目标分布的偏离、命令控制类的周期性心跳、怀疑项的横向移动与端口扫描。这些的共同点是全部来自元数据和形态,不依赖解密。
- 域名解析这一环成了关键的可观测点。 在 2-8 里提过——恶意程序要找到它的服务器,通常得先做域名解析。在内容不可读的今天,"异常解析"反而成了一个高价值的信号。 这也是为什么"加密 DNS"在隐私保护上是进步,但在企业可见性上是一个新课题。
- 一个务实的落地顺序:先把明文的那几样换成加密的(明文 DNS、明文共享、明文 FTP),这一步成本低、收益立竿见影;再建立出网连接的基线与告警;最后才谈"要不要做加密流量的深度分析"。顺序颠倒的话,会先花大钱,却没解决最基础的问题。
- 合规层面也要留意。 等级保护框架在"安全区域边界"里要求对进出网络的数据流实现基于应用协议和应用内容的访问控制,并在"安全审计"部分要求审计记录包含日期时间、用户、事件类型、结果等要素,且要保护、定期备份、避免被非预期删除或修改。"抓了以后怎么存、存多久、能不能被改"和"抓什么"同样重要——日志和抓包文件本身就是攻击者想改的目标(对照 2-2 讲的日志篡改)。
30 秒实验
做一次"看得见自己"的小实验:
- 看你家的网络里哪些设备在主动往外连——登录路由器后台,找"流量统计"或"连接数"这类页面。你会发现有很多连接是你不认识的程序发起的(智能电视、摄像头、扫地机器人都在往外连)。
- 再看 DNS:如果你会一点技术,把路由器的 DNS 改成明文查看一次(或用
nslookup查询几个陌生域名),体会一下"域名解析能暴露多少事"——你访问的每一个网站名字,都会在那条明文链路上一一出现。
这一节要带走的一句是:抓包的价值不在"抓到了",而在"看得出"——而当内容看不见的时候,行为就是唯一还写得完的那本账。
常见误区
-
错误:抓包能抓到所有东西,所以只要一直抓就行了。——纠正:抓得到"字节",不等于读得出"意思"。 加密之后,抓到的绝大部分是读不懂的内容,能用的只是地址、端口、时间、大小、证书这些元数据。同时长期全量留存既昂贵又几乎没人分析。正确做法是带着问题抓、按需留存、以行为为分析主线。
-
错误:我自己的网,想怎么抓就怎么抓。——纠正:要区分两种情形。在自己有权管理的设备和网络里做,且事先有制度安排(告知、授权、留存期限),属于正常运维。去抓不属于自己的链路(比如蹭别人的 WiFi 抓包、在公司里越权抓同事的通信),性质就可能落到"非法获取计算机信息系统数据"上了(对照 2-4)。技术能力和合法性是两件事。
-
错误:加密了,抓包就没用了。——纠正:恰恰相反,加密让"基于内容"的检测失效,反而抬高了"基于行为"的检测的价值。 通过元数据能看出很多:异常的连接频率、异常的目标地区、异常的数据量、证书异常、周期性心跳。在内容不可读的时代,这些"形态信号"反而更难被攻击者伪装——因为伪装内容容易,伪装形态很难。
-
错误:检测要靠"抓全量",所以存储越多越好。——纠正:方向和成本都要算。 一方面,全量留存的成本高昂而利用率极低(有数据说约 80% 的日志从来没有人查过);另一方面,时间尺度已经压到分钟级——等你从海量历史数据里翻出来,事情早就结束了。务实的方向是:关键位置留全、非关键位置只留摘要;实时看行为、事后才翻明细。
自测三问(点开对答案)
1. 为什么"域名解析"在今天的检测里反而变得更有价值? —— 因为**内容已经读不到了,而解析这一环暴露的是"意图"**。恶意程序要联系它的服务器,通常得先解析一个域名——**这个动作在加密流量里往往是可观察的**(除非用了加密的域名解析)。所以"哪台机器在解析一个从来没解析过的、可疑的域名"就成了一个高价值信号。**内容看不见的时候,"它想找谁"就成了最有信息量的一件事。** 2. 为什么说"抓一大堆积起来"是最常见的失败模式? —— 因为它同时浪费了**存储**和**人的注意力**——**抓下来的东西没人看,等于没抓**;而真正需要的那一刻,你会发现关键的那一段**没在留存范围里**。根本原因是抓包前**没有明确的问题**。正确的顺序是:**先想清楚要回答什么,再决定抓哪里、抓多久、留多少**;同时要有一份"正常长什么样"的基线,否则异常摆在眼前也认不出来。 3. 加密普及之后,抓包分析的重心发生了什么转移? —— 从**读取内容**("说了什么")转移到**观察形态**("谁在什么时间、用什么方式、跟谁说了多少")。可用的信号包括:连接频率与周期性、目标地址与地区分布、传输体量、协议类型、证书信息与异常。这个转移的深层含义是:**在读不到内容的情况下,判断依据从"这句话是不是恶意的"变成了"这个行为像不像正常的"**——**而后者的门槛更高,更需要基线。**- ☐ 下一节(2-11 外部入侵的检测和防御)
相关笔记
- 外部入侵的检测和防御 —— 下一篇:把"看见"变成"报警"和"阻断"
- 应当在哪里防御 —— 上一篇:被忽略的出口方向
- 数据的偷窥 —— 同一个手段的两个方向:攻击者用它,防守方也用它
- 法律对非法访问的定义 —— 抓包的合法边界
- 🛡️ 网络与信息安全 · 索引 —— 全课路线图