Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2012, 21:54   #11
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Беда в том, что при установлении tcp-соединения клиент и сервер обмениваются случайно сгенерированными числами (начальными номерами последовательностей), и нумеруют каждый пересланный байт соответственно.
Без знания этих двух чисел ты не сможешь отправить пакет - сервер просто выбросит его как мусор.
Узнать их ты можешь либо от клиента (но, полагаю, это не твой случай), либо с помощью сниффера, как уже писали выше.

Ну а зная их ты легко сможешь сгенерировать от имени клиентского порта tcp-пакет и отправить его через raw socket.
Но стОит помнить о том, что в некоторых случаях после отправки такого сообщения может сломаться сеанс общения между клиентом и сервером (опять же, из-за рассинхронизации sequence number).

Советую почитать хорошее описание протокола tcp, в общем, и большинство вопросов исчезнет.
Son Of Pain вне форума Ответить с цитированием
Старый 29.05.2012, 23:13   #12
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

veniside прав, можно работат RAW пакетами, т.е работать с сокетами на низком уровне и формировать заголовки пакетов, но этот уровень работает почему то в Win2000, в других ОС блокируется формирования и изминения ip заголовка пакета. Почитай про RAW в интернете, поймешь о чем речь.

Последний раз редактировалось Aliens_wolfs; 29.05.2012 в 23:21.
Aliens_wolfs вне форума Ответить с цитированием
Старый 30.05.2012, 01:48   #13
BETEP32
Пользователь
 
Регистрация: 28.02.2012
Сообщений: 20
По умолчанию

а пример можно как выглядят те цифры
BETEP32 вне форума Ответить с цитированием
Старый 30.05.2012, 10:18   #14
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Примеры в интернете есть по поводу RAW пакетов, вот к примеру здесь http://delphiworld.narod.ru/base/sen..._packages.html.

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

Из статьи в интернете
Цитата:
Как следить за сокетом
Это вопрос сложный и требует долгого рассмотрения. Пока лишь замечу, что созданный Вашей программой сокет Вы можете промониторить всегда. Сокеты (как и большинство объектов в Windows) имеют свой дескриптор (handle), записанный в свойстве Handle. Так вот, узнав этот дескриптор Вы свободно сможете управлять любым сокетом (даже созданным чужой программой)! Однако, скорее всего, чтобы следить за чужим сокетом, Вам придется использовать исключительно функции WinAPI Sockets.
Проблема вся в том как отловить этот дескриптор чужого сокета, тут стандартные методы неподайдут для поиска дескрипторов, а управлять я думаю с помощью процедур WinSock, к примеру отключить клиента можно будет так closesocket(Дескриптор сокета клиента);
Могу сказать одно что сниффер неловит эти дескрипторы(, тут нужно искать другое решение, возможно можно сделать через NetStat
Еще почитай здесь http://www.wasm.ru/forum/viewtopic.php?id=33713

Последний раз редактировалось Aliens_wolfs; 31.05.2012 в 00:28.
Aliens_wolfs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отправить UDP пакет Larboss Работа с сетью в Delphi 0 20.10.2011 21:30
Проверка скорости интернет соеденения gufon Работа с сетью в Delphi 5 13.06.2011 23:53
Не могу отправить пакет? VintProg Работа с сетью в Delphi 3 01.12.2010 07:35
Скорость соеденения blackstersl Работа с сетью в Delphi 3 30.10.2008 10:32
Отправить , а потом принять пакет. casper123 Работа с сетью в Delphi 3 16.08.2008 02:56