Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Опкоды, Формулы, Клиент > Копаем клиент

Важная информация

Копаем клиент Копаем клиент

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.07.2011, 15:45   #1
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию Сетевая активность ВоВ

Сделал монитор сетевой активности для ВоВ, путем перехвата вызовов функций winsock, заметил пару интересных вещей:

1) вов видимо умеет работать по протоколу ipv6, потому что сперва он пробует создать сокет именно с ipv6, но у меня вызов завершается ошибкой (протокол не установлен)

2) первым делом он зачем-то создает UDP соединение на локальный адрес и постоянно шлет туда 1 байт, ну и принимает его соответственно.

Код:
DLL_PROCESS_ATTACH 2948
socket af = 2, type = 2, protocol = 17, result = 000021EC
bind 000021EC, result = 0
connect 000021EC, 127.0.0.1:4441, result = 0
socket af = 23, type = 2, protocol = 0, result = FFFFFFFF
socket af = 2, type = 1, protocol = 6, result = 000022F0
bind 000022F0, result = 0
connect 000022F0, 213.248.127.133:1119, result = -1
Красным выделена как раз строчка с попыткой создать сокет по протоколу ipv6 (это вызов socket(AF_INET6, SOCK_DGRAM, 0))

Правда тут я не понимаю момент с коннектом на localhost... А где вызов listen перед этим ? Или при использовании UDP протокола как-то иначе идет работа с сокетом в отличии от TCP ?

ну и вопрос впринципе - нафига он это делает ? на кой предмет постоянно слать себе 1 байт?

Последний раз редактировалось Йоха; 15.07.2011 в 15:53.
Йоха вне форума   Ответить с цитированием
Старый 15.07.2011, 17:39   #2
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Может это они так проверяют доступен ли протокол IPv6?
TOM_RUS вне форума   Ответить с цитированием
Старый 15.07.2011, 18:13   #3
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от Йоха Посмотреть сообщение
...
Правда тут я не понимаю момент с коннектом на localhost... А где вызов listen перед этим ? Или при использовании UDP протокола как-то иначе идет работа с сокетом в отличии от TCP ?
...
Да, чтобы принимать UDP пакеты достаточно recvfrom вызывать. Недавно разбирался с ними для популярной в последнее время белорусской онлайновой игрушки.

Последний раз редактировалось LordJZ; 15.07.2011 в 18:16.
LordJZ вне форума   Ответить с цитированием
Старый 15.07.2011, 20:15   #4
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от Йоха Посмотреть сообщение
ну и вопрос впринципе - нафига он это делает ? на кой предмет постоянно слать себе 1 байт?
проверяет жив ли винсок вообще? в винде ситуация когда ядро и GDI еще телепаются а винсок уже отвалился - весьма распространена...
rsa вне форума   Ответить с цитированием
Старый 15.07.2011, 20:56   #5
zergtmn
MaNGOS Dev
 
Аватар для zergtmn
 
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
zergtmn Обладатель прекрасной аурыzergtmn Обладатель прекрасной ауры
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
проверяет жив ли винсок вообще? в винде ситуация когда ядро и GDI еще телепаются а винсок уже отвалился - весьма распространена...
Всегда забавляли ваши комментарии на счет винды
zergtmn вне форума   Ответить с цитированием
5 пользователя(ей) сказали cпасибо:
Fedia22 (15.07.2011), HuntsMan (08.01.2013), LordJZ (15.07.2011), Mayss (15.07.2011), Vinolentus (15.07.2011)
Старый 16.07.2011, 12:17   #6
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от zergtmn Посмотреть сообщение
Всегда забавляли ваши комментарии на счет винды
у нас с ней любовь причем давно - еще со времен 3.0 (не 3.1 а 3.0)
rsa вне форума   Ответить с цитированием
Ответ


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 00:43. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot