Пожалуйста, рассмотрите следующий сценарий:
Клиент VNC пытается подключиться к серверу VNC, который находится за NAT.
Я написал перенаправитель портов в Java, который помогает мне в достижении вышеупомянутой задачи, и он отлично работает.
Теперь мне нужно каким-то образом добавить посредническую функцию соединения в этот сервер пересылки, чтобы я также мог перехватывать связь между клиент-сервером VNC и аутентифицировать клиента VNC в утилите пересылки.
Возможно, вы уже догадались, что на самом деле я использую пароль, полученный от VNC Client, для некоторой аутентификации в моем приложении. Поскольку сервер RFB может быть реализован на прикладном уровне, я полагаю, что этот перехват возможен ... VNCAuthentication (шифрование / дешифрование DES) используется во всех вышеупомянутых коммуникациях. После успешной аутентификации в утилите пересылки я просто разрешу продолжить пересылку для соответствующего клиента, иначе я могу закрыть ее (прекратить пересылку).
Я пробовал какую-то реализацию, также пытался настроить реализацию Java сервера rfb ... но все равно не смог туда добраться. Я знаю, что это займет некоторое время, но нужно подтвердить, правильно ли я думаю.
Пожалуйста, дайте мне знать, если реализация вышеописанного сценария неоднозначна, невозможна или незаконна, и если это возможно, дайте мне несколько строк гильдии ...