我想跟踪通过 Windows Live Messenger 发送和接收的消息。然后我想将这些消息整理到数据库中(不在这个问题的范围内)。

问题是我应该如何以及在哪里跟踪这些消息。最简单的方法是强制所有客户端保留历史文件并读取这些文件,但这并不是我正在寻找的解决方案。有没有办法从在同一域中运行的服务器跟踪它们,我读过一些Windows Communicator,我也看到很多人谈论 http://dev.live.com/messenger/ 但我希望有人已经解决了这个问题:)

我想使用 C# .NET 3.5 来执行此操作

有帮助吗?

解决方案 4

我设法找到了两种方法来做到这一点,尽管这两种方法都不是真正的程序化解决方案,因此可能不会吸引这些观众。

  1. 利用 Jabber 网关在您的 Jabber 客户端和其他 IM 网络之间设置转发。流量通过 jabber 服务器在支持 jabber 的客户端和 jabber 服务器之间流动。然后,Jabber 服务器将其转换为目标网络协议并转发该消息。同样,来自外部 IM 网络的消息由 Jabber 服务器路由和翻译。一个例子是 PSI <-> IceWarp Merak <-> MSN

  2. 利用 赛门铁克 IM 管理器 拦截来自网络上的消息传递客户端的消息。您需要使用主机文件或本地 DNS 规则来让您的本地 PC 相信 Messenger.hotmail.com 实际上位于 192.168.0.59,而不是位于 Microsoft。

希望它可以帮助其他可能想做同样事情的人。

其他提示

查核MSNPSharp。它是一种.NET MSN库。其功能非常强大,并允许您从多个位置登录。所以,你可以登录并听取其他人的对话发生在一个给定的帐户。 它非常直截了当地使用。下载完整的源代码,有演示其全部细节中使用的示例应用程序。

http://code.google.com/p/msnp-sharp/

下面是二想法可能会奏效。

第一种是最简单的,但可以由用户很容易地避免,如果他不希望被记录。这是使用 MSN加在MSN。随着MSN另外,您还可以让您从任何聊天窗口得到的所有消息的API ......以及更多。当然,如果用户不是你的,用户只需卸载的MSN Plus和你的程序将不记录任何数据。

第二个想法是更好,如果你有你需要检查所有的MSN会话的网络。如果您使用是Wireshark 你可以看到,谈话不加密后(当然我最后一次做了),你可以检查的端口和协议,以简单地从网络获取数据。

希望它让你的方式,你需要的东西。

只有两个想法点击  1.首先在标准MSN协议是纯文本(从我的理解),所以你可以截取邮件防火墙,然后把它们放在DB和做的关系存在。结果  2.如果这是在一个组织中,你可以使用Office Communicator这是MSN的“企业”的版本和内置了已经该功能。然后,你可以去通过他们的SDK,并获得相关的数据。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top