Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有两个应用程序(.exe)在同一台机器(Windows XP x86)上运行,我知道它们正在相互通信(我不知道如何,我没有写它们)。我想找到一种方法来嗅探应用程序之间的通信。有没有办法做到这一点?
我已经对 ProMon 做了一些弄乱,我可能可以从那里弄明白,但我想知道是否有一些更具体的东西。ProMon 可能有点吓人。
首先,您可以使用像StraceNT这样的系统调用跟踪器来观察您的两个应用程序(或查看这个问题)。运气好的话,您应该能够弄清楚进程是通过本地套接字、TCP 连接(localhost无疑是通过)、管道、命名文件还是共享内存进行通信的。
localhost
您还可以netstat在应用程序运行时运行以查看它们是否打开了任何网络端口。
netstat
一旦你知道你在寻找什么,你就可以选择一个更具体的监控工具。如果是网络通信(甚至通过环回接口),您可以尝试使用WinDump之类的工具捕获数据。如果通信是通过共享内存进行的,您可以将调试器附加到两个进程之一并定期检查共享内存。