有没有办法将数据包与正在执行的二进制文件关联起来?我愿意尝试传统的嗅探方法,甚至dtrace
就此而言。
我在流量非常高的系统上遇到了一个具体问题。嗅探“所有”数据包并过滤它们正成为一个非常繁重的问题,在这种情况下,除了有问题的应用程序之外,消除所有数据包的发射是不可能的。
答案1
您没有提到您在该系统上运行的是什么操作系统,但如果运行的是 Windows,您可以使用 Microsoft Network Monitor,它会显示每个“对话”的进程 ID,因此它应该可以让您集中精力进行分析。“过滤”每个进程 ID 的流量非常简单,只需在左侧窗格中选择进程,然后在右侧窗格中查看其流量即可。
答案2
不确定这是否是您所需要的,但 netstat 可以帮助您将进程 ID 与网络端口关联起来。然后您可以在 wireshark 中过滤该端口号,以便仅嗅探特定进程 ID 的数据包。
答案3
在 Windows 上有一个实验版本可以执行此操作,如邮件列表中所述:http://www.wireshark.org/lists/wireshark-dev/201212/msg00069.html
答案4
最近我遇到了一个非常好的解决方案,想分享一下。它位于 DTrace Book 中:http://www.dtracebook.com
您将需要从这里获取示例:http://www.dtracebook.com/images/dtbook_scripts.tar.gz
我没有运行 OS X。我将脚本提取到dtbook
我的下面~/bin
并执行了相应的脚本,如下所示:
sudo ~/bin/dtbook/Chap6/soconnect_mac.d
然后它将为您提供所有进程及其连接。我现在通常将其输入grep
并专门搜索应用程序。