Как Teamviewer может обмениваться изображениями, используя прямой порт за брандмауэром - PullRequest
4 голосов
/ 31 мая 2011

Я нашел это: Как teamviewer находит мой компьютер но я не мог понять, и ответы не то, что я ищу. Я ищу решение в .net.

Если у меня есть приложение image-Sender и как Teamviewer может подключиться к image-Receiver-app? Включена ли какая-либо туннельная система? Или Teamviewer использует только порт 80?

Использует ли Skype тот же метод для голосового чата?

* ПРИМЕР *

Я на ПК-A, и у меня есть изображение размером 50 КБ в виде скриншота и я хочу отправить его на мой ПК-B. Теперь TV (teamviewer) просматривает весь порт от 1 до 65 000, если какой-либо порт может подключаться к серверу-серверу. Думаю, минимальный порт 80 будет успешным, верно? Но на моем компьютере также открыт порт 4001, телевизор будет использовать 4001 для этой функции. На PC-B он также проверяет наличие открытых портов и находит порты 80 и 6500 и будет использовать 6500 для этой функции. Мой вопрос сейчас, куда идут данные? Мой образ сначала отправляется на сервер SERVER-PC через порт 4001, и 50 КБ хранятся там в течение короткого времени, а PC-B загружает его через порт 6500? Я не могу поверить, что это правда, потому что это создаст слишком много трафика TV-SERVER-PC. Но как это может работать?

Image of Port switcher

Привет

Ответы [ 2 ]

7 голосов
/ 03 июня 2011

Другой ответ на самом деле охватывает основы.

В этой статье (старая, но все еще актуальная) описывается, как Skype обходит брандмауэры - возможно, это поможет лучше объяснить метод.

Насколько я знаю, TeamViewer использует один и тот же метод - оба клиентских приложения TeamViewer активно подключаются к центральному серверу, а затем согласовывают соединение, как описано в статье.

Мой вопрос сейчас, куда идут данные?Мой образ сначала отправляется на сервер SERVER-PC с использованием порта 4001, и 50 КБ хранятся там в течение короткого времени, и PC-B загрузит его на порт 6500?Я не могу поверить, что это правда, потому что это создало бы слишком большой трафик TV-SERVER-PC.Но как это может работать?

ПК-А и ПК-Б общаются друг с другом напрямую.SERVER-PC используется только для установления связи между ними, чтобы пробить дыру в брандмауэрах обоих компьютеров.Важный трюк в статье: (101)

Программа Боба Skype затем пробивает дыру в собственном сетевом брандмауэре: Она отправляет пакет UDP на порт 1.114.1 порта 1414 *.1019 *.Это игнорируется брандмауэром Алисы, но бобранд Боб не знает этого.Теперь он думает, что все, что исходит от порта 1414 1.1.1.1 и адресовано IP-адресу Боба 2.2.2.2 и порту 2828, является законным - это должен быть ответ на только что отправленный запрос.

1 голос
/ 09 июня 2011

Первый ответ на другой вопрос Teamviewer верен - он использует центральный сервер для работы через брандмауэры - вероятно, прибегая к созданию HTTP POST с более строгими брандмауэрами.Таким образом, два Teamviewers не общаются друг с другом, только с центральным сервером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...