Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

tcp & peerport [D7, WinXP]


_max_ ©   (2007-04-05 10:31:00) 

Для проверки межсетевого экрана нужно было написать простую связку - tcpclient+tcpserver (использовал indy)
на межсетевом экране открываем определенный порт, скажем 8000 и передаем сообщение от клиента серверу
Проблема вот в чем - при установлении соединения сервер отсылает квитанцию по peerport'у который выбирает случайным образом (1123,1124 etc.) и межсетевой экран эту квитанцию не пропускает
Как обойти эту ситуацию?
как нибудь можно жестко задать peerport?


_max_   (2007-04-07 16:51:00) [1]

Уважаемый SlymRO
Вам похоже захотелось поязвить
надеюсь что Вы молоды и не обижаюсь
видимо Вы не поняли суть проблемы
объясню поподробнее
мне не нужно анализировать уязвимости
задача такая - на межсетевом экране открывают определенные порты - допустим 2000 и 2001 (думаю 2 достаточно)
нужно используя эти порты передать данные с одной машины на другую
чем показать то,что экран действительно разрешает работать по этим портам
в случае использования других портов для передачи (например 2000 и 2003) - экран должен  обрубать передачу
данные надо передавать много раз подряд (шутки про TTimer и Write неуместны),я это к тому что у меня после передачи одной партии данных клиентский порт остался висеть в состоянии WAIT_TIMEOUT и идентификатором процесса 0 (если верить netstat) и естественно последующая передача по этому порту не получается - подключиться снова к нему нельзя - он как-то сам потом отключается через небольшой промежуток времени
Времени на разбирательства с этим особо нет - много другой работы - вот я решил спросить здесь
Если знаете как решить проблему - буду благодарен


SlymRO   (2007-04-06 07:07:00) [2]

смени логин... например на _min_


SlymRO   (2007-04-06 07:06:00) [3]

_max_   (05.04.07 17:16) [9]
А причем тут сканер портов?

обычно их и используют для анализа уязвимостей защиты
периодически? - TTimer :)
передавать данные? - Write(data) :))
между клиентом и сервером? - именно так, и никак иначе
фиксированные порты? - они всегда фиксированы (в рамках одного соединения)


_max_   (2007-04-05 17:16:00) [4]

А причем тут сканер портов?
ещё раз повторяю вопрос:
как периодически (часто  - каждые 1-5 секунд)передавать данные между клиентом и сервером
используя фиксированные порты(клиент и сервер) средствами indy?


SlymRO   (2007-04-05 16:39:00) [5]

сканер портов... их готовых навалом


Сергей М.   (2007-04-05 16:23:00) [6]


> его проверку осуществляю не я


Тогда обращайся к админу - это в егокомпетенции, а не в твоей.


_max_   (2007-04-05 16:15:00) [7]

с установкой порта на delphi вроде просто - boundport -  на с++ Builder такого свойства не увидел (первоначально клиент был на билдере)
теперь другая проблема - нужно периодически передавать
информацию с клиента на сервер по четко определенным портам
boundport на клиенте это позволяет, но после передачи этот порт не освобождается а висит с идентификатором процесса 0
В общем вопрос таков - как периодически (часто  - каждые 1-5 секунд)передавать данные между клиентом и сервером
используя (2 если возможно) фиксированных порта средствами indy?
про межсетевой экран ничего неизвестно - его проверку осуществляю не я


SlymRO   (2007-04-05 15:32:00) [8]

И вообще:
1. Какой экран
2. Наличие NAT


SlymRO   (2007-04-05 15:29:00) [9]

типа это?:
access-list EstablishedIP permit ip any any Established


Сергей М.   (2007-04-05 14:48:00) [10]


> непонятно как это правильно сделать


Правильней будет не привязывать клиента к фиксированному порту, а внести грамотные настройки в межсетевой экран.


_max_   (2007-04-05 13:51:00) [11]

это я уже понял
как задать порт клиента?
читал что-то про bindings.port=xxx;bindings.bind();
но непонятно как это правильно сделать


Сергей М.   (2007-04-05 11:24:00) [12]


> при установлении соединения сервер


Сервер не устанавливает соединение.
Соединение пытается установить клиент, а сервер лишь акцептирует или отвергает клиентский запрос на соединение.


> выбирает случайным образом


Это клиентвыбирает свой порт случайным образом, а не сервер !


Наверх

Титульная страница Поиск, карта сайта Написать письмо