Отслеживайте сообщения через Windows Live Messenger - PullRequest
1 голос
/ 17 февраля 2009

Я хотел бы отслеживать сообщения, отправленные и полученные через Windows Live Messenger. Затем я хотел бы сопоставить эти сообщения в базе данных (не в рамках этого вопроса).

Вопрос в том, как и где я должен отслеживать эти сообщения. Самый простой способ - заставить всех клиентов хранить файлы истории и читать их, но это не то решение, которое я ищу. Есть ли способ отследить их с сервера, работающего в том же домене, я немного прочитал в Windows Communicator, я также видел много людей, болтающих о http://dev.live.com/messenger/, но я надеялся, что кто-то, возможно, обратился к эта проблема уже:)

Я хотел бы сделать это, используя C # .NET 3.5

Ответы [ 4 ]

2 голосов
/ 17 февраля 2009

Проверьте MSNPSharp. Это библиотека .NET MSN. Он очень мощный и позволяет входить из нескольких мест. Таким образом, вы можете войти в систему и слушать другие разговоры, происходящие с данным аккаунтом. Его очень просто использовать. Загрузите полный исходный код, есть пример приложения, которое демонстрирует его использование во всех деталях.

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

1 голос
/ 17 февраля 2009

Вот две идеи, которые могут сработать.

Первый - самый простой, но пользователь может легко его избежать, если он не хочет регистрироваться. Было бы использовать MSN Plus поверх MSN. С MSN Plus у вас есть API, который позволяет вам получать все сообщения из любого окна чата ... и многое другое. Конечно, если вы не являетесь пользователем, он может просто удалить Msn Plus, и ваша программа не будет регистрировать какие-либо данные.

Вторая идея лучше, если у вас есть сеть, которая требует проверки всех сообщений Msn. Если вы используете WireShark , вы увидите, что разговор не зашифрован (ну, в последний раз, когда я это сделал), и вы можете проверить порт и протокол, чтобы просто получать данные из сети.

Надеюсь, это даст вам путь к тому, что вам нужно.

0 голосов
/ 29 сентября 2009

Мне удалось найти два способа сделать это, хотя оба не являются действительно программными решениями, поэтому могут не понравиться этой аудитории.

  1. Используйте шлюз Jabber для настройки переадресации между вашим клиентом jabber и другими сетями обмена мгновенными сообщениями. Поток трафика между клиентом с поддержкой Jabber и сервером Jabber через сервер Jabber. Затем сервер Jabber преобразует это в сетевой протокол назначения и пересылает сообщение. Аналогичным образом сообщения из внешних сетей обмена мгновенными сообщениями маршрутизируются и транслируются сервером Jabber. Примером этого является PSI <-> IceWarp Merak <-> MSN

  2. Используйте Symantec IM Manager для перехвата сообщений от клиентов обмена сообщениями в вашей сети. Вам нужно будет либо использовать файлы хоста, либо локальные правила DNS, чтобы убедить локальные компьютеры, что Messenger.hotmail.com на самом деле находится по адресу 192.168.0.59, а не в Microsoft.

Надеюсь, это поможет другим людям, которые могут захотеть сделать то же самое.

0 голосов
/ 17 февраля 2009

Всего две идеи
1. Сначала стандартный протокол MSN представляет собой простой текст (насколько я понимаю), чтобы вы могли перехватывать сообщения на брандмауэре, а затем помещать их в БД и выполнять корреляцию там.
2. Если вы работаете в организации, вы можете использовать Office Communicator, который является «корпоративной» версией MSN и уже имеет встроенную функциональность. Затем вы можете просто войти через их SDK и получить соответствующие данные.

...