Yahoo невидимый - PullRequest
       33

Yahoo невидимый

7 голосов
/ 20 декабря 2009

Некоторые друзья с помощью различных сайтов проверяют и знают, когда я становлюсь невидимым в Yahoo Messenger, и продолжаем хвастаться этим.

Будучи любопытным по этому поводу, я протестировал множество сайтов, которые проверяют, не является ли пользователь невидимым в Yahoo Messenger, и все они прислали мне тип пакета C1.
Из того, что я проверял, я (мой клиент ymsgr) ничего не отправляю обратно. Так что я получаю только 1 пакет от бота, который выполняет проверку, и все, они знают, невидим я или нет.

Затем я подумал, что если я не отправляю что-либо обратно, то, возможно, сервер Yahoo отправит что-то обратно, я проверил это на моем друге, и я отправил ему пакет c1, но я не получил ничего ни от кого (ни сервер ни моего друга).
Так как они это делают? Я просто ищу некоторые подсказки, не ожидая, что код или кто-то еще решит это для меня. Мне просто нравится трепет в обучении и открытии самостоятельно, что теперь я застрял без понятия :)

Спасибо.

Ответы [ 6 ]

2 голосов
/ 29 декабря 2009

Это новый ответ, потому что он слишком длинный, чтобы быть комментарием.

Я немного огляделся, и казалось, что у старых версий yahoo была сделка, в которой, если бы вы были невидимы, и кто-то пытался завести с вами голосовой чат, это бы вас выдало. Пакет ping может пытаться это сделать.

Одна вещь, которую я заметил на gtalk, это то, что часто пользователи появляются в сети даже после того, как они отключились, пока кто-то не отправит им пакет проверки связи. Кроме того, если вы невидимы, а потом возвращаетесь, то время, в течение которого вы были в сети, лишает вас факта, что вы были невидимы.

Может ли быть так, что когда вы пингуетесь, ваш статус, время в сети и т. Д. Все обновляются на сервере Yahoo, если вы находитесь в сети и что эти службы делают, то проверяют, предпринимает ли Yahoo какие-либо действия? Я бы предположил, что все, что Yahoo делает, не передает вашу информацию, если вы онлайн, но вы все равно можете видеть, что сервер что-то делает.

Вместо того, чтобы отслеживать входящий / исходящий пакет, почему бы вам не проверить свой реестр на сервере Yahoo? Я считаю, что для этого есть URL.

надеюсь, это поможет,

Mechko

2 голосов
/ 27 декабря 2009

Когда вы невидим , в основном вы онлайн , но просто их сервер передает не ваш реальный статус (онлайн), а поддельный (оффлайн).

Yahoo не может полностью «скрыть» ваш реальный статус, но у него есть некоторые «дыры» в том, как агрессивно пытается: см. здесь для деталей.

На самом деле существует множество веб-сайтов и возможных программ-шпионов, которые облегчают конечному пользователю проверку.

1 голос
/ 30 декабря 2009

Я давно не пользовался Yahoo Messenger, но то, что вы сказали, заставило меня задуматься. Вы сказали, что эти тестовые сайты отправили вам пакет C1. Мне интересно, насколько простые правила брандмауэра блокируют все, кроме серверов Yahoo. Я не знаю, если передача чата / голоса / файлов осуществляется по протоколу P2P, если да, вам придется обновить правила брандмауэра.

В тот день, когда я использовал свой брандмауэр для блокировки рекламных баннеров на IM-клиентах, потому что они размещались по другому URL-адресу, а неудача при подключении к рекламному серверу не отключала мой канал IM.

Может быть, вы можете попросить брандмауэр запрашивать каждое соединение и посмотреть, сколько соединений вам нужно для работы мессенджера. Затем пусть брандмауэр отбросит незапрошенные пакеты. Если это не сработает, вы можете использовать брандмауэр, чтобы заблокировать проверку сайтов.

Удачи.

1 голос
/ 29 декабря 2009

Из того, что вы говорите, я бы предположил, что бот действительно проверяет где-то еще (если это правда, что пакеты вообще не отправляются)

Может ли быть так, что есть онлайн-реестр пользователей, которые находятся в сети, а отправленный вами пакет является просто артефактом?

1 голос
/ 20 декабря 2009

Возможно ли, что отправка такого пакета кому-то, кто не в сети, приводит к ошибке? В этом случае отправка пакета и отсутствие ошибки означает, что этот человек находится в сети.

0 голосов
/ 30 декабря 2009

Вот некоторые методы, которые вы можете использовать, чтобы определить, является ли пользователь невидимым или действительно не в сети (некоторые из них зависят от более ранних версий приложения обмена сообщениями):

  1. Начните голосовой чат с пользователем, которого вы хотите проверить. Если вы получили ошибку, пользователь, если действительно в автономном режиме.

  2. Отправьте сообщение пользователю, затем измените IMEnviorment. Если вы видите сообщение «В ожидании вашего друга, чтобы загрузить тему», то пользователь действительно отключен.

  3. Скачать (и оплатить, к сожалению) Приятель чек .

  4. Перейдите по этому URL в вашем браузере: http://opi.yahoo.com/online?m=g&t=2&u=userid (измените ИД пользователя на пользователя, которого вы тестируете). (Это не сработало для меня).

Существуют веб-сайты, с помощью которых вы можете проверить статус в Интернете, но нет гарантии, что они будут работать (они делают только то, что я вам показывал выше). В основном, вы можете использовать эти скребки экрана VIA. Вот некоторые из сайтов:

...