2011-12-13 66 views
1

我有两个应用程序(.exe)在同一台计算机上运行(Windows XP x86),我知道正在与彼此进行通信(我不知道如何,我没有写它们)。我想找到一种方法来嗅探应用程序之间的通信。有没有办法做到这一点?Sniff进程间通信

我已经做了一些与ProMon混淆,我可以从那里弄清楚,但我想知道是否有一些更具体到这个目的。 ProMon可能有点吓人。

回答

3

首先,您可以使用系统调用跟踪器(如StraceNT(或see this question))观看您的两个应用程序。如果运气好的话,你应该能够确定进程是通过本地套接字,TCP连接(无疑是通过localhost),管道,命名文件或共享内存进行通信。

您也可以在运行应用程序时运行netstat以查看它们是否打开任何网络端口。

一旦你知道你在找什么,你可以选择一个更具体的监测工具。如果是网络通信(即使通过回送接口),您也可以尝试使用类似WinDump的东西来捕获数据。如果通信是通过共享内存进行的,则可以将调试器附加到两个进程之一并定期检查共享内存。