Не блокировать порт

Тема в разделе ".NET", создана пользователем Red Wind, 1 май 2007.

Статус темы:
Закрыта.
  1. Red Wind

    Red Wind Гость

    Доброго времени суток!
    Пишу приложение которое должно работать с портом через TcpListner. Всё ок, но мне бы хотелось сделать так, что бы если моё приложение не блокировало порт, то есть к этому порту поверх меня должно подключаться другое приложение.
     
  2. Kmet

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
    и как эти два приложения будут делить пакеты? конечно беркли сокетов есть опция позволяющая связывать несколько сокетов на один порт, но в твоем случае она вряд ли применима

     
  3. Red Wind

    Red Wind Гость

    Я понимаю, но как тогда работает тот же фаервол? Хотя мне вообще не нужно перехватывать трафик с порта, мне просто требуется повесить на порт ssl сертификат. То есть сделать так, что бы весь входящий трафик расшифровывался этим сертификатом и расшифровонные данные передавались какому либо клиенту.
     
  4. Kmet

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
    ну у файрволов совсемдругой подход http://www.wasm.ru/article.php?article=netfilter
    для твоего случая можно использовать так назваемый ремапинг портов(просто) или LSP (сложно)
     
  5. Red Wind

    Red Wind Гость

    А можешь дать какие-нибудь ссылки где про это написано. А то меня только на форумы сисадминов из гугла выкидывает.
     
  6. Kmet

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
    по LSP конечно могу дать ссылочку http://www.komodia.com/index.php?page=lsp.html, но в данном случае это будет стрельба из пушки по воробьям.

    если клиентское приложение позволяет настраивать хост по которому происходит коннект то ремаппинг портов имхо будет оптимальныйм выбором.
     
  7. Red Wind

    Red Wind Гость

    Про LSP я прочитал в MSDN, а вот инфу про ремаппинг портов так и не нашёл. Собственно ссылки на неё я и просил.
    <!--QuoteBegin-Kmet+1:05:2007, 23:12 -->
    <span class="vbquote">(Kmet @ 1:05:2007, 23:12 )</span><!--QuoteEBegin-->если клиентское приложение позволяет настраивать хост по которому происходит коннект
    [snapback]64170" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Что значит хост?
     
  8. Kmet

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
    я не совсем правильно выразился. позволяет настраивать IP и порт к которому происходит коннект
     
  9. Red Wind

    Red Wind Гость

    То есть под ремаппингом портов понимается перенаправление трафика на другой порт?
     
  10. Pasha

    Pasha Гость

    Для: Red Wind
    так что конкретно тебе надо сделать? Повесить 2 независимых приложения на один порт? Или добавить шифрование к уже существующему соединению?
     
  11. Red Wind

    Red Wind Гость

    Добавить шифрование, но приложение которое висит на этом порту я изменять не могу.
     
  12. Pasha

    Pasha Гость

    В клиентской части приложения можно явно задать ip сервера? Если да, то делаешь следующий финт ушами:
    1. Клиентская часть висил на машине ip_A, серверная на машине ip_B:portX
    2. Пишешь свое приложение из 2-х частей. Первая часть (прокси-клиент) вешается на ip_A:portX.
    3. Клиентское приложению говоришь коннектится к ip_A:portX вместо ip_B:portX.
    4. Прокси-клиент шифрует все, что получает от клиентского приложения и отправляет это все на ip_B:portY.
    5. На ip_B:portY висит прокси-сервер, который расшифровывает все, и отдает это серверу ip_B:portX.
    6. Данные от сервера идут через эту мегацепочку в обратной последовательности.

    Если явно задать ip сервера нельзя, то начинаешь бить в бубен с записями в hosts и порт мэппингом.

    Если использовать SSL не самоцель, а просто требуется секьюрность соединения в какой-то несекьюрной общей сети, то настрой RAS на сервере, и сделай VPN на 2 машины. Тогда вообще ничего писать не придется.
     
  13. Red Wind

    Red Wind Гость

    К сожалению, к клиентской части я вообще не имею никакого отношения. Все ухищрения нужно делать на сервере.
     
  14. Pasha

    Pasha Гость

    Т.е. клиент в любом случает будет передавать данные в открытом виде, а сервер просто для развлечения будет их сам для себя шифровать? :) Нафига тогда вообще шифрование?
     
  15. Red Wind

    Red Wind Гость

    Клиент в любом случае будет шифровать данные и передавать их на сервер в таком виде.
     
  16. Pasha

    Pasha Гость

    Для: Red Wind
    А сервер на другой порт можно перевесить?
     
  17. Red Wind

    Red Wind Гость

    Лан, спасибо. Буду перенаправлять расшифрованый трафик на другой порт.
     
  18. Гость

    Вообще-то Паша прав: сначала надо понять что делается и зачем. В зависимости от требований к безопасному каналу и вообще к безопасности этих данных, перенаправление внутри машины тоже может представлять проблемы. Например, случайная мисконфигурация может отправить расшифрованные пакеты гулять по сети. И кстати, а как вообще получилось, что клиент данные шифрует, а сервер - нет, при этом они очевидно используют один и тот же протокол поверх криптографии...?
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей