如何将 tcpdump 记录的流量(.pcap)重播到我的代理中以便我可以检查它?

如何将 tcpdump 记录的流量(.pcap)重播到我的代理中以便我可以检查它?

我使用 tcpdump(在 pcap/pcapng 文件中)捕获本地接口上的流量,并且想使用 Charles/Fiddler 等应用程序来研究它,但随后我必须以某种方式将其引导至其代理。

如何将捕获的流量重播到特定地址和端口?(最好在 macOS 上)

答案1

仅根据你提出问题的方式和你选择的标记,我真的不清楚你到底想做什么。你似乎也不完全清楚。原因如下:

  • 你谈到了分析使用 tcpdump 捕获的流量,它流量分析工具
  • 你要求一个工具来重放捕获的流量,并在问题中标记“tcpreplay”, 重放捕获流量的工具
  • 你说要将流量引导到“它的代理”,并想使用 Charles 来分析它——但是 Charles用于捕获和分析流量的代理
  • 谈论将流量重播到特定地址和端口也不清楚 - 如果转储包含发往 10.0.0.10 的数据包,您不能直接将它们发送到 192.168.0.100。一旦它们到达线路,它们将成为试图找到通往 10.0.0.10 的路径的实时网络流量,只有当它恰好在路径上时,它才会到达 192.168.0.100。

所以问题是你到底想做什么。对于每项任务,只要你指定了任务,你就可以找到一个工具。我是说可以用锤子将螺丝钉在墙上,但这不一定是最简单或最有效的方法。

作为流量分析工具,没有什么能比Wireshark。还有其他分析器,但 Wireshark 已成为行业标准,您会在每个网络管理员的工具箱中找到它。这可能是由于完全免费的价格过高。它是开源的。

您可以使用它来捕获实时流量并当场进行分析和/或将其保存为 .pcapng(或更早的 .pcap,如果您愿意)文件;或者您当然可以打开已保存的捕获文件进行分析。您可以以各种方式过滤流量;例如,“我只想查看从我的计算机发送到 acme.com 的 HTTPS 数据包”是一项简单的任务。或者您可以跟踪系统和 acme.com 之间的整个 TCP 流。

Wireshark 实际上只是一个 GUI。底层运行的是好用的 tcpdump 和 libpcap,以及一大堆其他标准操作系统工具。因此,您可以直接使用 tcpdump 本身打开捕获的内容进行分析,并根据需要对其进行过滤,但您看到的是以 ASCII 解释的原始输出,这有点难以阅读。Wireshark 让这一切变得方便得多。

前往 Apple Store,您可以安装 Cocoa Packet Analyzer。它也是一个免费工具。我以前从未看过它,但刚刚下载并安装了它,可能不会再启动它了。界面看起来类似于 Wireshark。它不能用于捕获,只能用于分析;它只能打开旧式 .pcap 文件,而不能打开 .pcapng(下一代 pcap)。仅凭这两个事实,它对我来说就毫无用处,但请看一下 - 它可能很适合您。

我对 Charles 和 Fiddler 都不熟悉,所以我无法谈论细节,我只知道我从网页上读到的内容。基于此,它们属于不同的类别。

两者都是付费工具。目标受众似乎是 Web 开发人员。它们被宣传为“Web 调试工具”。我猜它们的核心也是使用 tcpdump(为什么要重新发明轮子?),但看起来输出已经经过过滤,它们似乎只显示 HTTP/HTTPS 流量。它们似乎包含对目标受众有用的实用程序,例如,一些时间可以显示为图表。

然后是数据包播放器。我(你)已经提到了 tcpreplay。对于 Windows,有 Colaso​​ft Packet Player。仅此而已……这种任务的需求不足以创造任何真正引人注目的市场来推出竞争解决方案。

还有一些工具可用于手动制作数据包。出于故障排除目的,将格式错误的流量发送到应用程序的设备可能非常有用,但您首先需要了解网络数据包才能做到这一点。我提到它们只是为了完整性。


因此,再次强调,使用什么工具归根结底取决于您到底需要什么。如果您是一个想要通过分析保存的捕获来了解和理解网络流量的私人用户;或者偶尔检查您的系统和 acme.com 之间到底发生了什么,Wireshark 就是您的好朋友。如果您是一名想要分析 Web 应用程序行为的 Web 开发人员,并且不介意为方便而付费,那么您可能会从 Charles 或 Fiddler 提供的工具中受益。但了解 Wireshark 仍然有益 - 有限的工具是有局限性的。

如果您特别想学习使用 Charles 或 Fiddler,您显然会安装并运行这些工具。您将通过阅读手册学习基本操作方法,或者您可能会在 Youtube、Vimeo 或类似网站上找到指导视频。至少对于 Wireshark,您会找到大量的内容。

相关内容