Wireshark 是网络安全的「流量显微镜」,不管是异常流量排查、攻击溯源还是业务排障,它都是你手里最趁手的工具。下面我按「准备→基础操作→过滤技巧→协议分析→实战场景→避坑指南」给你一套可直接落地的实践框架。
一、抓包前的准备:避免抓一堆 “无效包”
很多新手抓包时,一开就停不下来,最后生成几个 G 的文件,根本没法分析。先做好这几步,事半功倍:
1. 选对网卡与模式
- 选网卡:必须选择你要分析的流量所在的网卡(比如公网出口网卡、服务器内网网卡),别选错了抓了一堆自己电脑的流量。
- 混杂模式:仅能抓到发往本机 / 广播的包,跨主机流量(比如交换机上其他设备的流量),必须通过「端口镜像 / 分光器」才能获取。
- 权限问题:Windows 要以管理员身份运行,Linux 要用
root权限启动,否则抓不到完整流量。
2. 先定目标,再抓包
抓包前先想清楚:你要分析什么?
- 排查某台主机的 SSH 登录:目标是这台主机的 22 端口流量
- 排查 Web 业务异常:目标是 Web 服务器的 80/443 端口流量
- 排查内网扫描:目标是某台主机向外的所有流量
目标明确后,就可以用捕获过滤器限制抓包范围,避免包量过大。
二、基础操作:先搞懂界面和核心功能
1. 界面三部分
- 包列表:所有抓到的数据包,显示时间、源 / 目的 IP、协议、信息摘要
- 包详情:选中单个包后,按协议分层解析(链路层→IP 层→TCP 层→应用层)
- 包字节:数据包的原始二进制内容,用于深入分析畸形包或加密流量
2. 核心快捷键
Ctrl+E:开始 / 停止抓包Ctrl+S:保存抓包文件(推荐存为.pcapng格式)Ctrl+F:打开显示过滤器Ctrl+Shift+N:新建抓包窗口
三、过滤技巧:两大过滤器的区别与常用规则
Wireshark 有两种过滤器,很多人容易搞混,这里给你讲透:
表格
| 类型 | 作用 | 语法示例 | 适用场景 |
|---|---|---|---|
| 捕获过滤器 | 抓包时过滤,只捕获符合条件的包(用 BPF 语法) | tcp port 80 / host 192.168.1.100 | 减少抓包量,避免包文件过大 |
| 显示过滤器 | 抓包后过滤,只显示符合条件的包 | tcp.dstport == 80 / ip.addr == 192.168.1.100 | 从大包里快速筛选目标流量 |
常用安全场景过滤规则(直接复制就能用)
plaintext
# 1. 抓SSH流量(排查暴力破解)
tcp.port == 22
# 2. 抓HTTP请求(排查Web攻击)
http.request
# 3. 抓DNS流量(排查隧道通信)
dns
# 4. 抓SYN包(排查SYN Flood)
tcp.flags.syn == 1 and tcp.flags.ack == 0
# 5. 抓ICMP包(排查Ping风暴)
icmp
# 6. 抓单IP的所有流量(排查某台主机异常)
ip.addr == 192.168.1.100
四、常见协议分析:从单包到完整会话
1. TCP 三次握手分析
- 正常流程:
SYN → SYN+ACK → ACK - 异常信号:只有大量
SYN包,没有SYN+ACK或ACK,大概率是SYN Flood 攻击或端口扫描。
2. HTTP/HTTPS 分析
- HTTP:直接看请求方法、URL、状态码,比如:
- 大量
404错误 → 目录扫描 - URL 含
union select→ SQL 注入尝试
- 大量
- HTTPS:默认是加密的,看不到内容。需要配置
SSLKEYLOG解密(浏览器导出密钥日志,Wireshark 导入),才能看到完整请求。
3. DNS 分析
- 看域名长度:超长域名请求,可能是DNS 隧道(攻击者用域名传输数据)
- 看请求频率:单主机短时间内大量 DNS 请求,可能是 C2 通信或放大攻击。
4. 核心技巧:Follow TCP Stream
右键任意 TCP 包 → Follow → TCP Stream,就能看到完整的会话交互(比如 SSH 登录过程、HTTP 请求 – 响应),比单包分析高效 10 倍。
五、实战场景:用 Wireshark 解决前面学的安全问题
场景 1:排查 SSH 暴力破解
- 过滤
tcp.port == 22 - 看同一个 IP 的包:大量
SYN→ACK→RST,就是失败登录 - 统计次数:1 分钟内超过 10 次失败登录,基本可以判定为暴力破解。
场景 2:排查内网端口扫描
- 打开
Statistics → Conversations,按Packets排序 - 找单台主机(IP)和大量不同端口 / IP 建立会话,就是典型的端口扫描行为。
场景 3:排查数据外发
- 过滤
http.request.method == "POST" - 看内网主机向外发送的 POST 请求,有没有携带大量数据(比如用户信息、配置文件)。
六、避坑指南:新手最容易踩的 5 个坑
- 混杂模式≠跨主机抓包:交换机环境下,混杂模式抓不到其他主机的流量,必须用端口镜像 / 分光器。
- 捕获过滤器和显示过滤器搞混:用显示过滤器的语法写捕获过滤器,结果抓不到包。
- HTTPS 流量不解密就放弃:配置
SSLKEYLOG就能解密,不然只能看到加密的黑盒流量。 - 只看单包,不看会话:用
Follow TCP Stream看完整交互,比分析单个包更高效。 - 抓包不设限制,文件太大没法分析:用捕获过滤器提前缩小范围,或设置循环抓包(文件大小限制)。
落地实践小流程(直接套用)
- 定目标:明确要分析的主机 / 端口 / 协议
- 设过滤器:用捕获过滤器限制抓包范围
- 抓包:开始抓包,复现问题 / 异常行为,然后停止
- 筛流量:用显示过滤器快速定位目标包
- 分析:结合协议解析、会话跟踪、统计功能,定位问题根因
No responses yet