Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не блокировать порт 
:(
    Опции темы
Red Wind
Дата 1.5.2007, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Доброго времени суток!
Пишу приложение которое должно работать с портом через TcpListner. Всё ок, но мне бы хотелось сделать так, что бы если моё приложение не блокировало порт, то есть к этому порту поверх меня должно подключаться другое приложение.
PM MAIL ICQ   Вверх
Yama
Дата 1.5.2007, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Что значит, подключаться?
TcpListener цепляется на опр. порт и принимает входящие соединения.. Если ты хочешь повесить на 1 порт 2 слушателя, то, по-моему, это невозможно. Подумай логически, как система должна определить, какому именно слушателю пришли те или иные данные?
--------------------
Если бы строители строили дома так же, как программисты пишут программы, то первый же залетевший в форточку дятел разрушил бы всю нашу цивилизацию.
PM MAIL   Вверх
Red Wind
Дата 1.5.2007, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я понимаю, но как тогда работает тот же фаервол? Хотя мне вообще не нужно перехватывать трафик с порта, мне просто требуется повесить на порт ssl сертификат. То есть сделать так, что бы весь входящий трафик расшифровывался этим сертификатом и расшифровонные данные передавались какому либо клиенту.
PM MAIL ICQ   Вверх
Yama
Дата 1.5.2007, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Red Wind @  1.5.2007,  17:02 Найти цитируемый пост)
просто требуется повесить на порт ssl сертификат. То есть сделать так, что бы весь входящий трафик расшифровывался этим сертификатом и расшифровонные данные передавались какому либо клиенту. 


1. Получается, что тебе надо что-то вроде прокси, которая будет принимать траффик, рассшифровывать его и передавать клиенту. Так?
Плюсы: работает другое приложение, отличное от клиента(я так понял, что клиентов может быть много);
             На этом приложении ты так же можешь реализовать что-то типа Load Balancer'a, который будет распределять нагрузку от клиентов на сервер или как там у тебя это работает.
Минусы: это все надо писать   smile 

как подобное реализовать по-другому, я не знаю. 
По сути получается: у тебя будет слушатель порта(совет: переходи сразу с TcpListener'a на сокеты. Имхо TcpListener это не более чем обертка над .НЕТ сокетами, которые, в свою очередь, обертка над WinSocks), который будет принимать входящие соединения от клиентов -> принимать запрос клиента -> шифровать его и передавать на сервер -> принимать ответ от сервера -> рассшифровывать его -> передавать клиенту.
2. Другой вариант решения данной задачи: тебе просто надо прикрутить SSL к своим клиентам(как это реализованно в веб-броузерах), что бы каждый клиент сам занимался шифровкой/дешифровкой траффика.

З.Ы. Нескромный вопрос: а у тебя есть готовая библиотека для шифровки/дешифровки SSL под .НЕТ, исключая System.Security & System.Net.Security ?

Это сообщение отредактировал(а) Yama - 1.5.2007, 17:49
--------------------
Если бы строители строили дома так же, как программисты пишут программы, то первый же залетевший в форточку дятел разрушил бы всю нашу цивилизацию.
PM MAIL   Вверх
Red Wind
Дата 1.5.2007, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Yama @  1.5.2007,  17:46 Найти цитируемый пост)
принимать входящие соединения от клиентов -> принимать запрос клиента -> шифровать его и передавать на сервер -> принимать ответ от сервера -> рассшифровывать его -> передавать клиенту.

Да, собственно это и нужно. Только я пишу серверную часть. Клиентская часть может быть произвольной. И принимающая прога на сервере, тоже произвольная.
PM MAIL ICQ   Вверх
Yama
Дата 1.5.2007, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Red Wind @  1.5.2007,  17:51 Найти цитируемый пост)
Да, собственно это и нужно. Только я пишу серверную часть. Клиентская часть может быть произвольной. И принимающая прога на сервере, тоже произвольная. 

Так это и есть что-то типа прокси, только для опр. порта.
И все-таки:

Цитата(Yama @  1.5.2007,  17:46 Найти цитируемый пост)
З.Ы. Нескромный вопрос: а у тебя есть готовая библиотека для шифровки/дешифровки SSL под .НЕТ, исключая System.Security & System.Net.Security ?


--------------------
Если бы строители строили дома так же, как программисты пишут программы, то первый же залетевший в форточку дятел разрушил бы всю нашу цивилизацию.
PM MAIL   Вверх
Red Wind
Дата 1.5.2007, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну да, типа прокси. Или скорее снифера.
Цитата(Yama @  1.5.2007,  18:10 Найти цитируемый пост)
З.Ы. Нескромный вопрос: а у тебя есть готовая библиотека для шифровки/дешифровки SSL под .НЕТ, исключая System.Security & System.Net.Security ?

В процессе появленияsmile.
Yama, так у тебя есть какие-нибудь предложения?
PM MAIL ICQ   Вверх
vers
Дата 3.5.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я думаю, на один TCP-порт ты два сервера не повесишь, разве что эти порты будут на разных сетевых интерфейсах. Файерволы для этого ставят либо драйвер-фильтр, либо перехватчик на уровне TDI (вроде такая аббревиатура). В твоем случае лучше всего сделать что-то навроде портмаппера с разными номерами TCP-портов: один для приема незашифрованного трафика, сервер которого будет подключаться ко второму порту в качестве клиента и передавать зашифрованные данные. Но этот способ не подойдет, если тебе нужна будет идентификация клиентов по IP-адресу на конечном сервере.
PM MAIL   Вверх
Yama
Дата 3.5.2007, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(vers @  3.5.2007,  11:51 Найти цитируемый пост)
Я думаю, на один TCP-порт ты два сервера не повесишь, разве что эти порты будут на разных сетевых интерфейсах. Файерволы для этого ставят либо драйвер-фильтр, либо перехватчик на уровне TDI (вроде такая аббревиатура

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

Цитата(vers @  3.5.2007,  11:51 Найти цитируемый пост)
Но этот способ не подойдет, если тебе нужна будет идентификация клиентов по IP-адресу на конечном сервере. 

Именно. ТО, что мы с vers"ом описываем, это нечто отдаленно напоминаеющее по архитектуре анонимный прокси.
Цитата(Red Wind @  1.5.2007,  19:09 Найти цитируемый пост)
Yama, так у тебя есть какие-нибудь предложения? 

Единственное, что я могу предложить, это описано в моем посте от 1.5.2007, 17:46 и описал в предыдущем посте vers.
Но если у тенбя все таки получится повесить на 1 порт 2 сервера и при этом они будут корректно работать и делать то, что тебе надо, расскажи потом тут, как ты это сделал, плз....  smile 
--------------------
Если бы строители строили дома так же, как программисты пишут программы, то первый же залетевший в форточку дятел разрушил бы всю нашу цивилизацию.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

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


 




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


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

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