杰瑞科技汇

Sniffer Pro教程怎么学?入门到精通技巧有哪些?

Sniffer Pro 教程:从入门到精通

Sniffer Pro(现属 NetScout 公司,产品线已演变为 nGenius®)是一款功能强大的网络协议分析器,被誉为“网络界的万用表”或“网络侦探”,它能够捕获、解码和分析通过网络的数据包,是网络管理员、工程师和安全专家进行故障排查、性能优化和安全审计的必备工具。

Sniffer Pro教程怎么学?入门到精通技巧有哪些?-图1
(图片来源网络,侵删)

本教程将分为以下几个部分:

  1. 第一部分:基础理论 - 了解 Sniffer Pro 是什么,以及它的工作原理。
  2. 第二部分:界面初探 - 熟悉 Sniffer Pro 的核心窗口和功能面板。
  3. 第三部分:捕获数据包 - 动手实践,开始捕获网络流量。
  4. 第四部分:解码与分析 - 深入解读数据包内容,找到问题所在。
  5. 第五部分:高级功能 - 使用过滤器、专家分析等强大功能。
  6. 第六部分:实战案例 - 通过具体场景学习如何使用 Sniffer Pro 解决实际问题。
  7. 第七部分:注意事项与总结

第一部分:基础理论

1 什么是 Sniffer Pro?

Sniffer Pro 就是一个“窃听器”,它将自己的网络接口(网卡)设置为“混杂模式”(Promiscuous Mode),在这种模式下,网卡会接收所有流经它的数据包,而不仅仅是发给它自己的,通过这种方式,Sniffer Pro 可以“看到”整个局域网(VLAN 内)的通信情况。

2 Sniffer Pro 能做什么?

  • 故障排查:定位网络延迟、丢包、连接超时等问题,你可以看到客户端和服务器之间交换的 TCP 三次握手是否正常,数据传输是否被重传等。
  • 性能分析:分析网络带宽利用率,找出占用带宽最大的应用程序或用户。
  • 安全审计:检测网络中的异常流量,如 ARP 欺骗、DDoS 攻击、病毒扫描、非授权访问等。
  • 协议分析:学习和调试各种网络协议(如 HTTP, DNS, FTP, SMTP 等),查看它们的具体交互过程。
  • 应用程序调试:对于开发人员,可以用来定位应用程序在通信层面的问题。

3 工作原理

Sniffer Pro 的工作流程可以概括为三个步骤:

  1. 数据包捕获:将网卡置于混杂模式,从网络上捕获原始数据帧。
  2. 数据包解码:根据协议标准(如 RFC),将二进制的数据帧解析成人类可读的格式,展示协议头部和载荷信息。
  3. 数据包分析:通过解码后的信息,结合过滤器、专家系统等工具,对数据包进行统计、筛选和深度分析,得出结论。

第二部分:界面初探

启动 Sniffer Pro 后,你会看到几个核心窗口:

Sniffer Pro教程怎么学?入门到精通技巧有哪些?-图2
(图片来源网络,侵删)
  1. Dashboard (仪表盘)

    • 这是主界面,通常以图表形式显示网络的关键性能指标,如利用率、错误率、流量分布等。
    • 作用:快速了解网络的整体健康状况。
  2. Capture (捕获) 窗口

    • 这是进行数据包捕获的主界面,默认显示一个数据包列表。
    • 列表列:通常包括 Number (序号)、Time (时间戳)、Source (源地址)、Destination (目的地址)、Protocol (协议)、Length (长度)、Description (描述) 等。
    • 作用:捕获并显示所有捕获到的数据包的概要信息。
  3. Decode (解码) 窗口

    • 当你在 Capture 窗口中选中一个数据包时,Decode 窗口会详细显示该数据包的结构。
    • 它通常分为三部分:
      • 协议树:左侧,以树状结构展示了数据包封装的所有协议层次(如 Ethernet -> IP -> TCP -> HTTP)。
      • 十六进制/ASCII 码:中间,显示原始数据的二进制和文本形式。
      • 协议字段:右侧,以表格形式列出当前选中协议的所有字段及其值。
    • 作用:深入分析单个数据包的每一个细节。
  4. Matrix (矩阵) 窗口

    • 以矩阵图的形式展示网络中不同主机之间的通信流量。
    • 作用:直观地看到哪些主机之间有通信,以及通信的强度和方向。

第三部分:捕获数据包

这是最基本也是最重要的操作。

步骤 1:设置捕获

  1. 在顶部菜单栏,点击 Capture -> Start
  2. 第一次启动时,会弹出 Define Filter (定义过滤器) 对话框,你可以先不设置,直接点击 Start,它会捕获所有流量。
  3. 最佳实践:为了效率和分析,建议先定义过滤器,只想捕获某个 IP 地址的流量,或只想捕获 HTTP 流量,我们将在第五部分详细讲解过滤器。

步骤 2:停止捕获

当捕获到你感兴趣的数据后,点击顶部菜单栏的 Capture -> Stop 来停止捕获。

步骤 3:保存捕获文件

  1. 停止捕获后,你可以将捕获的数据保存下来以便后续分析。
  2. 点击 File -> Save As
  3. Sniffer Pro 的默认保存格式是 .snf,你可以选择保存整个捕获,也可以只保存选中的部分。

第四部分:解码与分析

捕获到数据包后,真正的分析工作开始了。

场景:分析一次正常的网页访问过程

  1. 定位数据包

    • 在 Capture 窗口,我们可以看到很多数据包,为了找到我们想要的,可以在 Filter 输入框中输入 http,然后按回车,这样列表中就只会显示 HTTP 协议的数据包。
    • 我们还可以根据 SourceDestination 地址来筛选,比如只看我们电脑和某个网站服务器的通信。
  2. 查看三次握手

    • 找到一个数据包,其 Protocol 列显示为 TCPDescription 列可能包含 [SYN] 标志。
    • 双击这个数据包,在 Decode 窗口中查看。
    • 在左侧的协议树中,展开 TCP 协议。
    • 你会看到一个 Flags 字段,其值是 0x002 (二进制 0000000000010),这表示 SYN 标志位被置位,这就是 TCP 三次握手中的第一次握手。
    • 向下滚动列表,找到接下来两个相关的数据包,一个应该是 [SYN, ACK] (第二次握手),另一个是 [ACK] (第三次握手)。
  3. 分析 HTTP 请求

    • 在握手成功后的数据包中,找到 ProtocolHTTP 的数据包。
    • 双击它,在 Decode 窗口中展开 HTTP 协议。
    • 你会看到 GET /index.html HTTP/1.1 这样的请求行,以及 Host: www.example.com 等请求头信息,这就是你的浏览器向服务器发送的请求。
  4. 分析 HTTP 响应

    • 服务器会返回响应,找到 ProtocolHTTPDescription 列包含 200 OK 的数据包。
    • 双击它,你会看到 HTTP/1.1 200 OK 的状态行,以及 Content-Type: text/html 等响应头。
    • 如果数据包很大,载荷部分可能包含了网页的 HTML 代码。

通过这个过程,你完整地追踪了一次从 TCP 连接建立到 HTTP 请求和响应的全过程。


第五部分:高级功能

1 过滤器

过滤器是 Sniffer Pro 的灵魂,它能让你从海量数据中快速定位目标。

  • 地址过滤

    • host 192.168.1.100:只捕获与 IP 168.1.100 相关的所有流量。
    • src host 192.168.1.100:只捕获源地址为 168.1.100 的流量。
    • dst host 192.168.1.100:只捕获目的地址为 168.1.100 的流量。
    • net 192.168.1.0/24:捕获整个 168.1.0 网段的流量。
  • 协议过滤

    • tcp:只捕获 TCP 流量。
    • udp:只捕获 UDP 流量。
    • icmp:只捕获 ICMP 流量(如 Ping)。
    • http or dns:捕获 HTTP 或 DNS 流量。
  • 端口过滤

    • port 80:只捕获目标或源端口为 80 (HTTP) 的流量。
    • src port 21:只捕获源端口为 21 (FTP) 的流量。
  • 组合过滤

    • tcp and host 192.168.1.100 and port 80:捕获主机 168.1.100 的所有 HTTP TCP 流量。
    • not arp:排除所有 ARP 流量。

2 专家分析

专家系统是 Sniffer Pro 的智能分析模块,它会自动扫描捕获到的数据包,并标记出其中可能存在的问题或异常。

  • 在 Capture 窗口下方,点击 Expert 标签页。
  • 你会看到按类别(如 Errors, Warnings, Information, Conversation)分组的问题列表。
  • 例如
    • TCP Retransmissions (TCP 重传):表明网络可能存在丢包或延迟。
    • DNS No Response (DNS 无响应):表明 DNS 服务器可能不可达或响应慢。
    • ARP Requests (ARP 请求):数量过多可能存在 ARP 欺骗攻击。
  • 双击专家分析中的条目,Sniffer Pro 会自动跳转到相关的数据包,帮助你快速定位问题根源。

3 统计功能

  • Host Table (主机表):显示捕获期间通信最活跃的主机列表,包括它们的收发字节数和包数。
  • Protocol Distribution (协议分布):以饼图或柱状图显示各种协议所占的流量比例。
  • Conversation (会话):显示两两主机之间的通信会话详情,可以分析哪个会话占用了最多带宽。

第六部分:实战案例

案例 1:网页访问缓慢,使用 Sniffer Pro 定位原因

  1. 现象:用户反映访问内网某个网站很慢。
  2. 操作
    • 在用户电脑和网站服务器所在的交换机上,将 Sniffer Pro 所在的端口镜像到捕获端口。
    • 启动 Sniffer Pro,设置过滤器为 host [用户IP] and host [服务器IP]
    • 让用户尝试访问网站,同时开始捕获。
  3. 分析
    • 查看专家分析,发现大量 TCP Retransmissions (TCP 重传)。
    • 定位到重传的数据包,发现其 Time to Live 值异常小,或者路径上存在高延迟的节点。
    • 查看主机表,发现用户和服务器之间的流量并不大,排除了带宽拥塞。
    • 很可能是网络路径上的设备(如防火墙、路由器)性能不足或策略限制,导致数据包处理延迟,进而引发重传。

案例 2:发现网络中存在 ARP 欺骗攻击

  1. 现象:局域网内频繁出现 IP 地址冲突,或部分用户网络时断时续。
  2. 操作
    • 在核心交换机上开启端口镜像,让 Sniffer Pro 捕获全网流量。
    • 启动 Sniffer Pro,不设置任何过滤器,捕获所有流量。
  3. 分析
    • 查看专家分析,ARP 类别下出现大量 ARP RequestsARP Gratuitous
    • 在 Capture 窗口,过滤 arp
    • 你可能会发现一个异常情况:主机 A (IP: 192.168.1.10) 在短时间内,不断地向全网广播 ARP 请求,询问 168.1.20 (网关) 的 MAC 地址,这是典型的 ARP 欺骗攻击行为,攻击者试图让流量通过它。
    • 网络中存在 ARP 欺骗病毒,通过分析源 MAC 地址,可以定位到中毒的机器。

第七部分:注意事项与总结

注意事项

  1. 法律与道德严禁在未经授权的情况下使用 Sniffer Pro 捕获和分析任何网络流量! 这可能侵犯他人隐私,并违反法律法规和企业政策,只能在拥有管理权限的网络环境中使用。
  2. 性能影响:捕获所有流量会消耗大量 CPU 和内存资源,并占用磁盘空间,建议始终使用过滤器来捕获必要的数据。
  3. 网卡驱动:确保你的网卡驱动支持“混杂模式”,绝大多数现代网卡都支持,但某些虚拟网卡或特殊硬件可能需要特殊配置。
  4. 加密流量:Sniffer Pro 可以看到加密流量(如 HTTPS, VPN)的源/目的 IP 和端口,但无法解密其内容(除非你拥有密钥,如 SSL/TLS 会话密钥)。

Sniffer Pro 是一款功能极其强大的网络分析工具,掌握它的关键在于:

  • 熟悉界面:知道去哪个窗口看什么信息。
  • 善用过滤器:从海量数据中快速筛选出目标。
  • 理解协议:知道正常情况下协议应该如何交互,才能识别出异常。
  • 相信专家系统:它是快速定位问题的向导。

虽然市面上有更现代的工具(如 Wireshark),但 Sniffer Pro 的设计理念和核心功能依然是网络分析的基础,通过学习 Sniffer Pro,你将打下坚实的协议分析基础,这对于解决任何复杂的网络问题都至关重要。

分享:
扫描分享到社交APP
上一篇
下一篇