- 什么是 Sniffer Pro?
- 核心概念(必须了解!)
- Sniffer Pro 界面概览
- 实战操作:捕获与分析数据包
- 高级功能:过滤与专家分析
- 注意事项与最佳实践
什么是 Sniffer Pro?
Sniffer Pro 是一款功能强大的网络故障诊断和安全工具,它可以将你的计算机网卡设置为“混杂模式”(Promiscuous Mode),从而捕获流经该网段的所有数据包。

主要用途:
- 故障排查:定位网络延迟、丢包、连接超时等问题。
- 性能分析:分析网络带宽利用率、找出流量大户。
- 安全审计:检测网络中的异常流量、可疑攻击行为(如 ARP 欺骗、端口扫描)。
- 协议学习:直观地学习各种网络协议(如 TCP/IP, HTTP, DNS)的详细工作过程。
核心概念(必须了解!)
在使用 Sniffer Pro 之前,理解以下几个概念至关重要:
a. 混杂模式
正常情况下,网卡只会接收 destined for its own MAC address(发往自己 MAC 地址)和 broadcast(广播)的数据包,开启混杂模式后,网卡会接收所有流经它的数据包,无论目标是谁,这是嗅探器工作的基础。
b. 过滤器
网络中的数据包数量巨大,直接捕获会让你淹没在数据海洋中,过滤器的作用是让你只捕获你关心的数据包,Sniffer Pro 支持多种过滤方式:

- 地址过滤:根据源/目的 IP 地址、MAC 地址、端口号进行过滤。
- 协议过滤:只捕获特定协议的数据包,如只看 TCP 流量,或只看 DNS 请求。
- 模式过滤:根据数据包中的特定内容(如包含 "password" 字符串)进行过滤。
c. 解码
Sniffer Pro 能够将捕获到的二进制数据包,按照其所属的协议标准(如 Ethernet, IP, TCP, HTTP)翻译成人类可读的格式,这是分析问题的核心。
d. 专家分析
这是 Sniffer Pro 的王牌功能,它会自动分析捕获到的数据流,并根据预设的规则(如 TCP 重传、连接超时、DNS 解析失败等)将问题标记出来,并给出简要的描述,极大地提高了故障排查的效率。
Sniffer Pro 界面概览
启动 Sniffer Pro 后,你会看到以下几个主要窗口:
- 工具栏:包含最常用的功能按钮,如新建捕获、开始/停止捕获、显示过滤器、打开文件等。
- 主窗口:默认显示 仪表板,可以实时显示网络利用率、错误率、流量分布等关键性能指标。
- 捕获窗口:这是最核心的窗口,显示所有捕获到的数据包的列表,每一行代表一个数据包,包含时间戳、源/目的地址、协议、长度等信息。
- 解码窗口:当选中捕获窗口中的一个数据包时,这里会详细显示该数据包的层次结构解析,通常分为三部分:
- 摘要:数据包的总体描述。
- 详细信息:按协议层次(如 Data Link -> Network -> Transport -> Application)展开,显示各层协议的头部字段及其含义。
- 十六进制/ASCII码:显示原始数据包的十六进制和 ASCII 码表示,方便进行深度分析。
- 专家窗口:这是“专家分析”的结果展示区,它会自动将检测到的问题分类显示,如“重复 ACK”、“连接超时”、“DNS 错误”等,双击问题条目,可以快速定位到相关的数据包。
实战操作:捕获与分析数据包
假设我们要捕获本机与 www.google.com 之间的 HTTP 流量。

设置捕获过滤器(可选但推荐)
为了避免捕获过多无关流量,我们先设置一个地址过滤器。
- 点击菜单栏的 Capture -> Define Filter...。
- 在弹出的窗口中,切换到 Address 选项卡。
- 在 Station 1 和 Station 2 中,分别输入你的本机 IP 地址和
www.google.com的 IP 地址(可以通过ping www.google.com获取)。 - 点击 OK 保存。
开始捕获
- 点击工具栏上的 开始捕获 按钮(红色圆形)。
- 打开你的浏览器,访问
http://www.google.com。 - 访问完成后,点击工具栏上的 停止捕获 按钮(方形)。
分析捕获结果
- 查看数据包列表:在捕获窗口中,你会看到一系列数据包,TCP 连接会有三次握手,然后是 HTTP 请求和响应。
- 定位关键数据包:在列表中,你可以根据
Protocol列(如HTTP)或根据Summary列的描述来快速定位你关心的数据包。 - 解码查看详情:
- 定位到 HTTP 请求:找到一个
GET / HTTP/1.1的数据包。 - 查看解码窗口:选中该数据包,在解码窗口的 Details 部分,你会看到:
- Ethernet II:源和目的 MAC 地址。
- Internet Protocol:源和目的 IP 地址,协议类型(TCP)。
- Transmission Control Protocol:源和目的端口号(如你的电脑是
随机端口,Google 服务器是80或443),TCP 标志位(SYN, ACK, FIN 等)。 - Hypertext Transfer Protocol:这里就是 HTTP 协议内容,包含了
GET请求、Host头部、User-Agent等信息。
- 定位到 HTTP 请求:找到一个
- 查看 HTTP 响应:同样地,找到一个状态码为
200 OK的数据包,解码后可以看到服务器返回的 HTTP 头部和网页内容的前一部分。
高级功能:过滤与专家分析
a. 使用显示过滤器
捕获完成后,如果想在不重新捕获的情况下缩小分析范围,可以使用“显示过滤器”。
- 点击工具栏上的 显示过滤器 按钮(一个漏斗图标)。
- 在输入框中输入过滤表达式。
http:只显示所有 HTTP 协议的数据包。host 192.168.1.1:只显示与 IP 地址168.1.1相关的数据包。tcp.port == 80:只显示源或目的端口为 80 的数据包。
- 按回车,数据包列表就会实时更新,只显示符合条件的数据包。
b. 利用专家分析
- 在捕获停止后,直接查看 专家窗口。
- 如果网络存在问题,这里会列出所有被标记的事件,如果你在访问网站时感觉很慢,专家窗口可能会报告 "
TCP Retransmissions"(TCP 重传)或 "Duplicate ACKs"(重复确认)。 - 双击一个专家事件(如 "
TCP Retransmissions"),Sniffer Pro 会自动在捕获窗口中定位到所有相关的数据包,并高亮显示,帮助你快速定位问题的根源。
注意事项与最佳实践
- 法律与道德:绝对不要在未经授权的情况下对任何非你所有的网络进行嗅探! 这可能违反法律和公司政策,Sniffer Pro 是一把强大的“双刃剑”,仅应用于网络管理和故障排查。
- 性能影响:在流量非常大的网络上进行捕获,可能会对分析机本身的性能造成压力,建议使用专门的、性能较好的机器作为分析机。
- 存储空间:捕获文件(
.cap或.saz格式)可能会非常大,建议在捕获前就设置好过滤器,或者捕获一段时间后及时停止并分析。 - 从基础开始:对于初学者,建议先从分析你自己的网络流量开始,比如访问一个网站、发送一封邮件,观察其完整的数据包交互过程。
- 替代品:虽然 Sniffer Pro 经典,但目前更流行和免费的开源工具是 Wireshark,Wireshark 的功能和界面与 Sniffer Pro 非常相似,并且拥有庞大的社区支持,学习 Wireshark 同样可以掌握网络分析的核心技能。
希望这份教程能帮助你入门 Sniffer Pro!网络分析是一个需要大量实践才能精通的领域,多动手、多分析,你很快就能成为网络诊断专家。
