Что было бы простой в использовании программой для Windows, которая бы делала следующее:

  • Компьютер Неизвестный TCP-клиент хочет подключиться к неизвестному TCP-серверу компьютера B.
  • Оба находятся за NAT.
  • Компьютер A имеет доступную переадресацию портов, а компьютер B - нет.

Я предполагаю, что мне нужно будет установить программу на A и B и запустить два экземпляра: слушатель и посредник. Я не уверен, что это была бы за программа, но думаю, что так она и будет:

  1. Компьютер B запускает свой неизвестный TCP-сервер
  2. Компьютер A запускает программу слушателя на своей стороне
  3. Компьютер B запускает программу фасилитатора на своей стороне, а программа фасилитатора компьютера B подключается к программе слушателя компьютера A, чтобы быть «готовой к подключению».
  4. Компьютер A запускает TCP-клиент для подключения к локальному узлу, на котором запущена программа-слушатель. Программа-посредник сигналов слушателя должна подключаться к неизвестному TCP-серверу, а слушатель и посредник должны обрабатывать передачу данных через Интернет между неизвестным TCP-сервером и клиентом.

Конечно, есть «приложение для этого»? Есть ли один для Windows?

1 ответ1

1

Да, существует, наиболее распространенной реализацией этого является SSH туннелирование. Просто настройте компьютер A в качестве хоста SSH и перенаправьте порты на компьютер B, чтобы он мог общаться с серверным приложением на компьютере B.

Есть хосты SSH для почти всех операционных систем.

Итак, вот шаги

  1. Компьютер B запускает свой неизвестный TCP-сервер
  2. Компьютер A запускает SSH-сервер (маршрутизатор настроен на перенаправление порта 22 на компьютер A)
  3. Компьютер B запускает команду, аналогичную ssh user@12.23.45.67 -R 10000:192.168.1.10:7777 (замените 192.168.1.10:7777 на ip и порт компьютера B и порт серверов TCP, 12.23.45.67 - публичный IP компьютера А)
  4. Компьютер A запускает TCP-клиент для подключения к localhost:10000 (вы можете изменить порт, передав другой первый номер переключателю -R на шаге 3). Туннелирование портов SSH выполняет передачу данных через Интернет между неизвестным TCP-сервером и клиентом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .