允许两台计算机通过互联网进行通信而不打开端口或运行服务器的服务是什么。我确定的两个选项是电子邮件(有点延迟)和irc,但我想知道还有哪些其他选项或服务可用。让两台计算机通过互联网进行通信而不开放端口的选项
回答
我认为这个问题有点误导。实质上,你要求的是如何绕过防火墙。这是如何工作的:你有两台主机A和B:
A --- A的防火墙---互联网--- B的防火墙---乙
当A将消息发送到B,B的防火墙检查端口是否打开。如果没有,它会阻止它。
一个--80 - > AF --80 - >互联网--80 - > X BF(80端口关闭)
A的防火墙的工作原理大致相同:
(端口80关闭)AF X < --80--互联网< --80-- BF < --80--乙
如果它是开放的,但是,B的防火墙让它通过:
A --- > AF --->互联网---> BF ---> B
A在这里担任客户。现在,防火墙知道有一个连接,所以当B发送一条信息:
一个< === AF < ===互联网< === BF < ===乙
他们可以交换消息,只要他们希望,直到其中一人关闭连接。发生这种情况时,A的防火墙(没有打开端口的防火墙)将停止允许数据包通过。
所以,为了有不要求任何一端改变防火墙规则的连接,您可以执行下列操作之一:
在中间的服务器。这就是大多数电子邮件所做的--A和B作为客户端连接到电子邮件服务器(其防火墙设置正确以允许这样做)。你可以运行你自己的服务器,或者使用像ngrok这样的服务。
找到每个防火墙零日。
那么,我可以运行为什么自己的服务器,但我想知道有什么服务来路由这样的流量。我可以使用电子邮件,但速度很慢。 IRC看起来像一个奇怪的解决方案。 – PyRulez
我已经添加了一个伟大的服务,将愉快地为你做这个链接。检查一下,如果这是你需要的,不要忘记接受答案。 –
原则UDP hole punching满足您的要求,但它不能保证工作,我甚至会说这是不可能的工作(我尝试了一些,但没有找到两个网络的地方都可以)。这是NAT traversal的特殊情况,请查看其他选项。
另一种可用于单向通信的选项是ngrok:它允许您将localhost暴露给外部世界,就好像它是公共服务器一样。从他们的网站看,我想他们公开它作为一项服务,以及提供您可以在自己的服务器上使用的源代码。
ngrok看起来很有前途 – PyRulez
- 1. 通过互联网将计算机与计算机进行通信
- 2. 没有端口转发的两台计算机之间如何进行通信?
- 3. 通过互联网进行客户机/服务器通信
- 4. Erlang在两台计算机上进行两个进程通信
- 5. 是否可以通过USB端口与iOS计算机进行通信,以便与Windows计算机通信?
- 6. 通过互联网进行短信通信
- 7. 通过互联网在两台计算机之间发送命令
- 8. C#.NET通过网络在计算机之间进行通信
- 9. 两台电脑之间没有开放端口的通信,使用第三台计算机来建立连接
- 10. 通过COM端口进行C++通信
- 11. Metro应用程序如何通过串行端口进行通信而不是通过USB进行通信?
- 12. 使用ZeroMQ通过互联网进行客户端/服务器通信
- 13. 如何使两个Python脚本通过互联网进行通信?
- 14. 从一台计算机访问xampp到另一台计算机通过互联网IP地址
- 15. 在不同网络上的两台计算机之间发送数据(通过互联网)
- 16. 通过互联网公开rabbitmq amqp端口安全吗?
- 17. C#TCP通过互联网连接到计算机
- 18. 与不在同一网络上的计算机进行通信
- 19. 通过Python和SSH连接的开放端口进行TCP-IP通信
- 20. 通过互联网从另一台计算机的计算机上访问php文件
- 21. OpenDDS:如何通过公共网络(WAN)与两台主机进行通信
- 22. 当同一台计算机上的两个进程通过TCP进行通信时会发生什么?
- 23. 并行端口计算机间通信的可能性
- 24. Android手机服务器客户端通过互联网通信IP
- 25. 通过互联网
- 26. 通过互联网
- 27. 通过互联网
- 28. 通过互联网
- 29. 通过同一网络上的两台计算机发送信息
- 30. 如何让我的VPC通过云端访问互联网?
irc和电子邮件都涉及开放端口.. –
@ EbbeM.Pedersen运行irc或电子邮件服务器需要打开端口。我说的是双方都是客户。例如,我不需要在我的路由器上打开任何端口来连接到irc或发送和接收电子邮件。 – PyRulez