嗅探进程间通信

发布于 2024-12-20 20:37:22 字数 189 浏览 2 评论 0原文

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

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

I have two applications (.exe) that are running on the same machine (Windows XP x86) and I know are communicating with eachother (I dont know how, I didn't write them). I would like to find a way to sniff the communication between the applications. Is there a way to do this?

I've done some messing with ProMon and i can probably figure it out from there but I'm wondering if there is something a little more specific to this purpose. ProMon can be a bit intimidating.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贪了杯 2024-12-27 20:37:22

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

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

一旦您知道自己在寻找什么,您就可以选择更具体的监控工具。如果是网络通信(即使是通过环回接口),您可以尝试使用 WinDump。如果通信是通过共享内存进行的,您可以将调试器附加到两个进程之一并定期检查共享内存。

First, you could watch your two applications with a system call tracer like StraceNT (or see this question). With some luck, you should be able to figure out whether the processes communicate through a local socket, a TCP connection (via localhost undoubtedly), a pipe, a named file, or shared memory.

You can also run netstat while the applications are running to see if they are opening any network ports.

Once you know what you're looking for, you can choose a more specific monitoring tool. If it's network communication (even over a loopback interface), you could try capturing the data with something like WinDump. If the communication is via shared memory, you could attach a debugger to one of the two processes and inspect the shared memory periodically.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文