Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск игровых серверов.Отправка пакетов. Сниффер. 
:(
    Опции темы
XfroSt
  Дата 7.12.2006, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.12.2006

Репутация: нет
Всего: нет



Доброе время суток!
Решил написать программу для поиска игровых серверов. Я понимаю что таких тем в форумах скопилось много, но меня интересуют конкретные вопросы. Кто разбирается в UDP и снифферах прошу помоч и ответить. Мне надо "зацепиться" за технологию определния.
Итак.
что я делаю.
1. Прошу запустить человека игровой сервер в локалке.
2. Включаю сниффер (предварительно определив какие порты использует игра через НетВью к примеру, в данном примере используется порт 8889 на прием и передачу)
3. Запускаю у себя клиент игры
переключаюсь в сниффер и вижу, что с меня уходит широковещательных пакет.
user posted image
Как видно из скиншота пакет длинной 13 байт и его содержание : 'Ãâ.=÷*<'
в ответ сервер присылает другой пакет с инфой :
user posted image
все вроде ясно.
кидаю на форму дельфи компонент.
IdUDPServer1
кнопу и мемо
в кнопке пишу следующие
Код
IdUDPServer1.DefaultPort := 8889;
IdUDPServer1.Active := true;
IdUDPServer1.Send('192.168.0.255',8889,'Ãâ.=÷*<');

в обработчике IdUDPServer1UDPRead
Код
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);
var
  S: TStringStream;
  Reply: String;
begin
  S := TStringStream.Create('');
  try
    S.CopyFrom(AData, AData.Size);
    memo1.Clear;
    Memo1.Lines.Add(Format('Ответ сервера : %s', [S.DataString]));
  finally
    S.Free;
  end;
end;


далее выключаю свою клиентскую игру, что бы не было конфликтов сокетов UDP
запускаю программу дельфи
жму кнопку
В мемо приходит тока мой запроос : 'Ответ сервера : : Aa.=?*<'
сниффер показывает следующие:
user posted image
т.е. пакет другой длинны в 15 а не в 13 байт.
Вопросы!

2. Как можно просто повторить пакет в дельфи ? т.е. как можно в дельфи так же перехватить пакет, сохранить его и потом просто повторить ?


M
Girder
Одна тема - один вопрос!
PS: Пожалуйста не нарушайте правил форума!


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

Заранее спасибо!
PM MAIL   Вверх
XfroSt
Дата 8.12.2006, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.12.2006

Репутация: нет
Всего: нет



С отправкой разобрался, а вот с приемом...
Такая проблема, использую компонент TIdUDPServer
отсылаю им широковещательный запрос. в ответ приходит ответ.
читаю его так :

Код

procedure TMF.udpserverUDPRead(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);
var
remhost  : String;
chb      : array[0..1024] of char;
remport,
Len      : integer;
ListItem  : TListItem ;
begin
      FillMemory(@chb[0],1024,0);
      RemHost := ABinding.PeerIP;
      RemPort := ABinding.PeerPort;
      Len:=AData.Read(chb,1024);
end;


но вот в чем проблема сниффепром вижу что пришел пакет размером Length: 0x0051 (81);
содержание пакета :
0x0000  00 16 17 B5 46 3E 00 13-D4 BE BC A7 08 00 45 00  ...µF>..O??§..E.
0x0010  00 65 73 EC 00 00 80 11-44 AD C0 A8 00 2F C0 A8  .esi..?.DA?./A?
0x0020  00 6F 69 87 69 87 00 51-F0 73 FF FF FF FF 49 07  .oi‡i‡.Q?syyyyI.
0x0030  53 61 6E 63 68 6F 00 63-73 5F 6D 61 6E 73 69 6F  Sancho.cs_mansio
0x0040  6E 00 63 73 74 72 69 6B-65 00 43 6F 75 6E 74 65  n.cstrike.Counte
0x0050  72 2D 53 74 72 69 6B 65-3A 20 53 6F 75 72 63 65  r-Strike: Source
0x0060  00 F0 00 01 11 00 6C 77-00 00 31 2E 30 2E 30 2E  .?....lw..1.0.0.
0x0070  32 38 00                                          28.

len показывает размер 71
а в chb приходит только yyyyISancho
пробовал увеличивать размер буфера udpserver не помогает!
причем отладчим смотрю что chb не заполнена полностью тока начало дальше нули.

Как получить остальное ?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1235 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.