Skip to content
Wireshark Wiki 中文翻译整理专题首页原始页面

网络故障排查:概述

本页面将为你概述 Wireshark 可以在哪些方面帮助你排查网络故障(……以及在哪些方面使用其他工具可能更好)。

由于学习网络故障排查是一项永无止境的任务(有很多关于它的优秀书籍),这里仅能提供一个粗略概览。你甚至可以把一生都投入其中(并以此获得你的年收入)。

⚠️ 请记住,Wireshark 并非面向下文提到的所有任务(而且可能也并不适合)(下面会针对具体任务给出引导)!

总体而言:如果你不了解任何网络协议,也不了解网络通常如何工作,那么在你愿意学习相关知识之前,Wireshark 对你不会很有用。

一般故障排查

嗯,你的网络中有些东西完全无法工作,或未按预期工作,而你需要解决它。

  • 服务无响应:例如,你就是无法连接到自己的 Web 服务器。你使用的应用程序对找出问题的具体原因帮助不大,因为它只给出一个通用错误消息。这个问题通常由无响应的服务引起(例如 web server、中间的某个 router,……)。线路上甚至可能存在一个具体的错误代码,而你使用的应用程序将其“翻译”为一个通用错误消息(“host not available”),这完全没有帮助。一旦你知道网络上“应该”发生什么,Wireshark 就能非常有助于找出你遇到的问题。
  • 协议问题:不兼容的协议实现无法互操作。对于当今常用(且成熟)的 TCP/IP 协议,这不应该是问题,但对于新协议(你甚至可能正在自己实现)则可能如此。如果 Wireshark 支持相关协议,并且你了解该协议(至少了解一点),Wireshark 就是极其宝贵的故障排查信息来源。

性能

你的网络运行得太慢。当然,这取决于你的期望 😃

一些可能的原因:

  • 性能不足:整体网络性能对你想要完成的任务来说太慢,例如你不能指望通过 100MBit/s Ethernet 链路每秒提供一百万个 HTTP 请求。Wireshark 可以帮助判断这里是否属于这种情况,但监控(下文提到)可能是检测和处理此类问题的更好方式。

  • 超时:客户端首先尝试访问某个特定服务。经过通常的超时时间后,它会尝试另一个能够实现该目的的服务。在下一次请求时,这个过程会一再重复。虽然查找原因可能很繁琐,但 Wireshark 在这里会非常有帮助。

  • 瓶颈:你的网络整体性能正常,但某处存在瓶颈导致变慢(可能只是服务器/交换机/路由器/房屋/工厂/……之间的某条特定链路)。由于 Wireshark 不太适合分布式分析,监控工具(下文提到)在这里可能会做得更好。

  • 协议问题:不兼容的协议实现会降低可能达到的性能,与上文一般部分中的协议问题相同。

  • 泛洪:“有意的”(例如 virus/trojan)或“无意的”(例如配置错误/有缺陷的实现)发送大量数据包,从而淹没网络。Wireshark 可以帮助你找出泛洪的发起者和类型。

因此,根据原因不同,Wireshark 可能有助于追踪性能问题,也可能无能为力。

监控

持续关注你的网络中正在发生什么。监控会提醒你服务故障(例如 webserver 无响应)、性能问题等。

这可能从每小时 ping 一次远程机器的简单 cron job,到 Nagios(以前称为 NetSaint)这样的专用工具,再到 HP OpenView (tm)Network Node Manager 这样的商业企业级工具。

Wireshark 不太适合(也并非面向)监控。不过,如果你偏好的监控工具检测到问题,你最终可能会进入上文描述的一般故障排查或性能部分。

安全

一些常见的安全任务:

  • 扫描:主动扫描你的网络,并在坏事发生之前增强其安全性
  • 入侵检测:如果你的网络中发生异常情况,则发出警报
  • 取证:坏事已经发生,而你需要知道它是什么

总体而言,与安全相关的任务最好由专门工具完成。不过,在使用这些工具时,Wireshark 可以通过提供额外信息,帮助你获得更深入的知识,并建立对实际发生情况的感知。

扫描

使用 Nmap 或 Nessus 等工具扫描你的网络,在坏人发现已知安全漏洞之前先发现它们。通过分析这些工具产生的网络流量,Wireshark 可以帮助你理解这些工具真正做了什么。

入侵检测

运行 Snort 等软件的 IDS 服务器会分析网络流量,并在某些内容“看起来异常”时触发警报。通过查看网络流量,Wireshark 可能帮助你判断 IDS 报告的是误报,还是确实存在真实问题。

取证

在坏事发生之后,尝试找出实际发生了什么、它是如何发生的,以及最终是谁发起的。如果你必须深入挖掘网络流量,Wireshark 可能会有所帮助。不过,有人报告称,他们使用 Wireshark 捕获整个网络的流量以用于取证目的(使用磁带库或类似设备存储所有数据),把 Wireshark 当作一种网络备份工具!

于 2020-08-11 23:17:21 UTC 从 https://wiki.wireshark.org/NetworkTroubleshooting/Overview 导入

相关 Wireshark Wiki 页面

网络分析技术档案