2016-10-01 3 views
0

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

+0

Икр и электронная почта включают открытие портов. –

+0

@ EbbeM.Pedersen, работающие на серверах irc или электронной почты, требуют открытия портов. Я говорю о том, что обе стороны являются клиентом.Мне не нужно было открывать какие-либо порты на моем маршрутизаторе для подключения к irc или отправки и получения электронной почты, например. – PyRulez

ответ

0

Я думаю, что этот вопрос несколько ошибочен. То, о чем вы просите, по сути, заключается в том, как обойти брандмауэр. Вот как это работает: у вас есть два узла А и В:

--- A в брандмауэр --- Интернет --- Б --- Firewall B

Если A посылает сообщение B, брандмауэр B проверяет, открыт ли порт. Если нет, он блокирует его.

--80 -> AF --80 -> Интернет --80 -> X BF (порт 80 закрыт) брандмауэр

A работает почти так же:

(порт 80 Закрыто) AF X < --80-- Интернет < --80-- BF < --80-- B

Если он открыт, хотя, брандмауэр Б позволяет через:

--- > AF ---> Интернет ---> BF ---> B

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

< === AF < === Интернет < === BF < === B

И они могут обмениваться до тех пор, пока один из них не закрывает соединение. Когда это произойдет, брандмауэр A (без открытого порта) перестанет пропускать пакеты.

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

  1. Есть сервер в середине. Это то, что делает большинство сообщений электронной почты - как A, так и B, как клиенты, для серверов электронной почты (чьи брандмауэры настроены правильно, чтобы это разрешить). Вы можете запустить свой собственный сервер или использовать такую ​​услугу, как ngrok.

  2. Найдите нулевой день в каждом брандмауэре.

+0

Ну, я мог бы запустить почему-то собственные серверы, но мне интересно, какие услуги есть для маршрутизации трафика. Я мог бы использовать электронную почту, но это медленно. IRC кажется странным решением. – PyRulez

+0

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

0

В принципе UDP hole punching удовлетворяет ваш запрос, но это не гарантирует работу, и я бы даже сказал, что это вряд ли будет работать (я попробовал несколько, и не мог найти две сети, где он будет работать). Это частный случай NAT traversal, посмотрите там другие варианты.

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

+1

ngrok выглядит многообещающим – PyRulez