Я прочитал около WebRTC
и как он позволяет общаться peer to peer
. Итак, я сделал эксперимент для обхода .Эксперимент NAT Traversal?
Целью эксперимента было испытание штамповки отверстий в NAT
. У меня была две системы, которые работали Ubuntu 16.04
. Я буду ссылаться на эти системы как system A
и system B
.
Обе системы подключаются к серверу, размещенному на веб-сервисах Amazon. Система A использовала команду nc -p 1234 -u IP_ADDRESS_OF_SERVER PORT_NUMBER_OF_SERVER
, а система B использовала команду nc -p 1235 -u IP_ADDRESS_OF_SERVER PORT_NUMBER_OF_SERVER
. Система A и система B были подключены к одному и тому же WiFi-маршрутизатору.
После подключения к серверу мы узнали о public socket
обеих систем. После этого я попытался связать друг друга, используя информацию общего сокета, которую мы получили с сервера в течение нескольких секунд.
Система A отсоединяется от сервера и подключается к системе B с помощью команды nc -u -p 1234 PUBLIC_IP_OF_SYS_B PUBLIC_PORT_OF_SYS_B
, а система B также отключается от сервера и подключается к системе A с помощью команды nc -u -p 1235 PUBLIC_IP_OF_SYS_A PUBLIC_PORT_OF_SYS_A
.
Я сделал это, чтобы пробить дыру в нашем NAT. После этого система A отменит команду nc
и прослушивает ее порт, используя nc -l -u -p 1234
. Но, к сожалению, я не смог получить сообщение, введенное системой B в системе A.
Может ли кто-нибудь помочь мне в получении этой работы?
Не знаете, зачем идти на все эти проблемы, если вы можете просто запустить службу WebRTC и посмотреть, что произойдет. Попробуйте https://appear.in или https://talky.io. Если они работают, то работает NAT-траверс (или вам не нужен NAT). –
@abhiarora - Отлично, попробуй. –
@Am_I_Helpful - Вы пробовали это раньше? Вы можете что-то предложить? – abhiarora