wireshark 是一款开源免费的网络封包分析软件,核心作用是抓取网卡上经过的网络数据包,并且把数据包按照协议分层展示出来,适合网络排错协议学习网络安全基础排查,是网络工程师和计算机学习者最常用的抓包工具,入门阶段重点掌握软件安装选择网卡抓包过滤条件数据包解读这几个核心环节,就可以完成基础的抓包分析工作。
之所以学习 wireshark,是因为普通网络排查只能看到通或者不通,但是数据包在网络里到底经历了什么,有没有丢包重传握手失败,这些底层细节普通工具看不到,wireshark 可以把每一个报文完整拆解,直观看到源 IP 目标 IP 端口协议类型和报文内容,帮助理解 TCP UDP HTTP 等协议真实运行过程。
软件安装准备
| 项目 | 说明 |
|---|---|
| 支持系统 | Windows Linux macOS 都可以安装 |
| 官方获取 | 官网下载对应系统版本安装包 |
| Windows 安装注意 | 安装过程会提示安装 npcap 组件,这个组件是抓包底层驱动,必须勾选安装,否则无法抓包 |
| 权限要求 | Windows 建议管理员运行,Linux 需要 root 权限,mac 需要授权网卡监听权限 |
基础操作步骤
1 启动 wireshark,主界面会列出本机所有网卡,包含有线网卡无线网卡虚拟网卡,选择你正在上网对应的网卡,双击就可以开始抓包
2 抓包启动之后,列表会持续刷新大量数据包,如果不加过滤,报文数量会快速暴涨,很难找到目标报文
3 使用显示过滤器,在顶部过滤栏输入过滤表达式,例如 ip 地址端口号协议名称,过滤之后只保留符合条件的数据包
4 选中任意一条数据包,中间面板会展示协议分层解析,最下方面板是原始十六进制报文数据
5 抓包完成之后点击停止按钮,可以保存抓包文件,后缀为 pcapng,后续可以重新打开分析,也可以导出 pcap 格式文件
核心界面介绍
第一区域是数据包列表,每一行代表一个数据包,包含编号时间源地址目的地址协议长度信息摘要
第二区域是协议详情区,展开每一层协议,比如以太网层 IP 层 TCP 层应用层,可以查看每一个字段含义
第三区域是原始数据区,也就是报文原始字节,十六进制和 ASCII 对照显示
过滤器重点讲解
捕获过滤器是开始抓包之前设置,在抓包的时候就丢弃不需要的报文,语法基于 BPF 语法
显示过滤器是抓包之后设置,不会删除原始报文,只是隐藏不符合条件报文,日常入门最常用
常用显示过滤表达式
ip.addr 等于目标 IP,筛选指定 IP 相关报文
tcp.port 等于指定端口,筛选指定端口 TCP 报文
http,只显示 http 协议报文
tcp.flags.syn 等于 1,筛选 TCP 同步握手报文
入门实战小练习
打开 wireshark 选择网卡开始抓包,浏览器访问一个网页,然后停止抓包,在过滤栏输入 http,找到 http 请求和响应报文,观察三次握手过程,理解 TCP 连接建立,这个练习是 wireshark 入门最经典练习,可以直观理解 HTTP 和 TCP 协同工作流程。
总结,wireshark 入门核心不是记住所有协议,而是先学会选网卡抓包,掌握基础过滤语法,看懂数据包分层结构,后续再逐步深入学习重传乱码异常报文分析。
【常见问题】
问题 1 wireshark 抓不到数据包是什么原因
回答 1 wireshark 抓不到数据包优先检查网卡是否选错,其次确认 npcap 驱动是否正常安装,Windows 没有管理员权限或者无线网卡不支持混杂模式,也会造成 wireshark 无法正常捕获报文。
问题 2 wireshark 显示过滤器和捕获过滤器有什么区别
回答 2 wireshark 显示过滤器是抓包完成之后筛选报文,不会修改原始抓包数据,捕获过滤器是抓包启动前设置,抓包阶段直接过滤报文,减少抓包文件体积,两者语法并不相同,入门练习优先使用显示过滤器。
问题 3 wireshark 可以抓取手机网络数据包吗
回答 3 wireshark 本身不能直接抓取手机流量,需要把电脑设置成代理或者开启镜像端口,让手机流量经过电脑网卡,再通过 wireshark 捕获经过网卡的手机网络报文。
【免责申明】
本文为 wireshark 入门学习教程,仅用于合法的网络学习与本机网络排查,禁止使用本工具对他人网络未经授权抓包监听,相关行为可能违反法律法规,所有操作风险由使用者自行承担。


