VNC на порту 80 (TeamViewer может это сделать)

14161
Zardoz

Как получилось, что такие программы, как TeamViewer, могут без проблем общаться через порт 80, но это невозможно с VNC? Есть ли какие-нибудь бесплатные и открытые альтернативы VNC, которые тоже могут это сделать?

2
я думаю, что teamviewer запрашивает порт 80 на внешний сервер и обрабатывает весь багаж на внешнем сервере (как оба конца подключаются к внешнему серверу и данные поворачиваются) RobotHumans 13 лет назад 2
@ aking1012 правильно: [связанная статья] (http://support.teamviewer.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=10) утверждает, что «по умолчанию TeamViewer использует только исходящий порт 80 (HTTP)». * Исходящий *, например: ваш локальный и удаленный компьютер подключаются к какому-либо серверу через порт 80. Я могу представить, что TeamViewer также [использует UPnP] (http://en.wikipedia.org/wiki/Universal_Plug_and_Play#NAT_traversal) для Если это возможно, откройте порты, но если это не удастся, то, вероятно, все будет сделано через сторонний сервер. Arjan 13 лет назад 0

4 ответа на вопрос

3
Lekensteyn

Порт 80 является привилегированным портом. Вам нужны разрешения администратора для запуска программ, работающих на порту 80.

Каждый порт может использоваться только одним приложением, поэтому убедитесь, что порт не используется другим приложением (например, Teamviewer или HTTP-сервером).

Какое приложение VNC вы используете?

Относится ли привилегированный порт к Windows сейчас? Arjan 13 лет назад 0
Хм, видимо нет. Я только что проверил это, запустив `nc.exe -l 127.0.0.1 -p 80`, и он все еще может получить порт 80. Lekensteyn 13 лет назад 0
Это может все еще применяться, так как вопрос не помечен Windows. (Но тогда: это, вероятно, тег, который чаще всего пропускается ...) Arjan 13 лет назад 0
teamviewer работает как `root` под Linux (с Wine). * кашель * ошибка дизайна. О, этот вопрос был о VNC, а не о командире. Lekensteyn 13 лет назад 0
До сих пор я использовал туго на Linux и UltraVNC на Windows. Но я думаю о переходе на TeamViewer. Я знаю, что это не Open Source, но это бесплатно. Вы говорите, что только одно приложение может работать на одном порту. Так почему я могу использовать TeamViewer (на порте 80) и одновременно работать в Интернете? Zardoz 13 лет назад 0
Когда вы работаете в Интернете, вы * подключаетесь * к порту 80 * на стороне сервера * со случайного непривилегированного порта на вашем компьютере. Так это выглядит так: yourpc: 51841 -> server: 80. VNC очень медленный для меня, я использую [X2go] (http://www.x2go.org/), который намного быстрее. Lekensteyn 13 лет назад 1
Странно, но почему TeamViewer запускается от имени пользователя root? Не для * исходящего * соединения с портом 80 ... Конечно, он также хочет подключиться к видеодрайверу или что-то в этом роде, но потом: то же самое делает VNC. Хммм. Arjan 13 лет назад 0
@Zardoc, каждый * входящий * порт (к которому какое-то «серверное» приложение прослушивает соединения) может использоваться только одной программой. Несколько «клиентских» программ могут подключаться к одному и тому же порту на сервере. Arjan 13 лет назад 0
3
William Hilsum

Проще говоря, VNC был (или был) разработан несколько лет назад для (технических) администраторов, чтобы получить доступ к своим машинам, людям, у которых нет проблем с настройкой портов.

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

Ничто не мешает вам разместить VNC на порте 80 на вашей машине (при условии, что к нему не подключены веб-серверы или что-либо еще, что использует его).

Однако помните также, что Team Viewer фактически не подключается к порту 80.

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

Порт 80 обычно разблокирован в большинстве мест с доступом в Интернет, поэтому исходящие соединения не являются проблемой, даже если это место, которое обычно не позволяет размещать службу.

Team Viewer работает, выполняя OUTGOINGзапросы на обоих концах к своим серверам, для которых настроены входящие.

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

С другой стороны, вы можете запустить сервер VNC в обычном режиме без настройки портов, запустить клиент прослушивания VNC (и настроить входящий порт), затем на значке сервера щелкните правой кнопкой мыши и выберите Establish a reverse connectionили Connect to a client(я забыл - был несколько лет с тех пор, как я в последний раз делал это), и вы сможете установить обратную связь.

Теперь Teamviewer в основном использует исходящее соединение с третьей стороной, поэтому не требует настройки.

Я надеюсь, что я ответил на несколько ваших вопросов, если я не знаю или вы хотите узнать больше о чем-либо, пожалуйста, дайте мне знать.

К вашему сведению - я использовал Ultravnc

Хорошее объяснение @Wil ... Я был почти уверен в этом, но не хотел писать, не зная абсолютно +1 RobotHumans 13 лет назад 0
@William Если какой-либо клиент использует сервер для подключения к другому клиенту, то работает ли на этом сервере специальное программное обеспечение для пересылки клиентов или это просто веб-сервер (работает на PHP и MySQL), который передает IP-адреса и доступные порты обоим клиентам? FlashDark 11 лет назад 0
1
RobotHumans

Если вам нужно использовать vnc через порт 80, вот как использовать java-апплет: http://ubuntuforums.org/showthread.php?t=107503 . Это для Linux. Этот пост сообщает, что realvnc может работать через порт 80: http://forums.whirlpool.net.au/archive/513251 . Предыдущие утверждения о исходящих соединениях для teamviewer верны, но если вы пытаетесь обойти брандмауэр непроверенной проверки, один из них может вам помочь.

Это не устраняет необходимость входящих подключений, только проблемы с номером порта.

хорошо, я постараюсь публиковать как можно больше значимых вещей. Моя проблема в том, что иногда мне кажется, что повторение 4-страничного практического руководства кем-то другим не так важно, как прямая ссылка на то, как уже состоялось обсуждение. RobotHumans 13 лет назад 0
(Правда, просто хотел, чтобы вы знали! Это также затрудняет голосование: я редко следую за ссылками, поэтому не могу легко сказать, если что-то кажется правильным!) Arjan 13 лет назад 0
0
ericzma

Мне нравится использовать переадресацию портов ssh при использовании VNC: http://fclose.com/b/638/ . VNC небезопасен, как мы все знаем. Если открыт только порт 80 (в случае, если 22 не открыт), sshd может быть настроен на прослушивание порта 80, а затем, после настройки туннеля, многое можно сделать.