网络安全技术与实训-第6章-第3节-Wireshark抓包与常用过滤
第6章 安全防范与入侵检测
前面讲了检测与防护的各种系统,但所有分析工作的基础都是同一件事:看懂网络上到底发生了什么。抓包分析就是这项基本功,而 Wireshark 是最常用的工具。第 6 章开头有一句很形象的定位:Wireshark 是显微镜,先学会“看包”。
一、四条必会过滤表达式
抓包最难的不是“抓”,而是“在几万个包里找到你要的那几个”。Wireshark 的显示过滤器就是干这个的。下面四条务必记熟:
| 过滤表达式 | 作用 | 典型使用场景 |
|---|---|---|
| ip.addr == 192.168.1.10 | 只看与某个 IP 相关的所有流量 | 排查某台主机是否在向外异常通信 |
| http | 只看 HTTP 协议的流量 | 分析 Web 访问行为、查看请求与响应内容 |
| tcp.port == 80 | 只看 80 端口的 TCP 流量 | 聚焦某个具体服务的通信 |
| http.request.method == “POST” | 只看 POST 请求 | 快速定位表单提交、登录请求(口令通常在这里) |
多条条件可以用 and、or 组合。例如“只看 192.168.1.10 发起的 POST 请求”,把两个条件用 and 连起来即可。
二、抓包分析的基本套路
- 第一步:选对网卡。多网卡的机器上,选错网卡会一个包都抓不到。虚拟机实验环境通常要用“混杂模式”才能看到别人的流量。
- 第二步:先抓后滤。新手常犯的错误是一上来就设很复杂的过滤条件,结果什么都没有。正确做法是先全抓,再用显示过滤器筛——捕获过滤器会直接丢弃不匹配的包,筛错了就得重来。
- 第三步:跟随流(Follow TCP Stream)。这是最实用的功能之一:右键某个包,选“跟随 TCP 流”,Wireshark 会把这次会话的完整内容拼出来。分析一次完整交互(比如一次登录过程)时,这比一个个看包高效得多。
- 第四步:学会看三类东西——时序(谁先发的)、内容(发了什么)、异常(有没有重传、有没有异常长度的包)。
三、从抓包看懂事关重大的一个事实
抓明文 HTTP 的流量,可以直接看到账号和密码。
这不是理论推测。HTTP 协议本身不加密,表单里提交的用户名和密码就是一段明文。只要在同一个网络里抓包,任何人都能原样读出来——包括你在公共 Wi-Fi 上输入的每一条口令。
这正是必须全面启用 HTTPS 的最直观理由。HTTPS 在 HTTP 之外套了一层 TLS 加密,抓包时看到的就是一行行密文,能看出通信双方、通信量大小和时间,但看不到内容。
这个对比也是本实训最重要的收获:“加密”不是抽象概念,而是能直接在抓包窗口里亲眼看到差别的东西。
四、命令行版本的 tcpdump
服务器上没有图形界面,图形化的 Wireshark 用不上,这时用命令行工具 tcpdump。它的过滤语法与 Wireshark 类似但略有不同(比如用 host、port 关键字)。最典型的用途是:在服务器上挂着抓包,把结果存成文件,再拿到本地用 Wireshark 打开分析。这个组合在排查“服务器到底在和谁通信”时非常有效。
五、配套实训
本章对应 实训 7 · Wireshark 数据包分析:
- 抓一次 HTTP 登录过程,用
http.request.method == "POST"定位请求,再用“跟随 TCP 流”把完整内容拼出来,亲眼看到明文口令。 - 把同样的操作切到 HTTPS 上重做一次,对比抓到的内容——这一次只能看到密文。
- 尝试抓一次扫描行为(对靶机执行 Nmap 扫描),观察扫描流量的特征:大量端口被逐个尝试连接、大量 RST 回应。
做完这三组观察,你就具备了最基础也是最实用的流量分析能力。这个能力在后面所有实训中都用得上——出现问题先抓包,往往一眼就能看出症结。
⚠️ 抓包只能在自己拥有管理权限的网络与设备上进行。在他人网络中抓取流量属于违法行为,即使只是“看看”也不行。

