找出/预测路由器将/将用于给定连接的端口

时间:2013-04-23 14:40:09

标签: networking nat hole-punching

我知道ipchicken.com将告诉您路由器的IP地址以及它用于连接的端口。但这些信息可以“本地”获得吗? (不依赖于网站)。

我想要的是在两个随机主机之间建立连接......中间没有“专用服务器”。我的问题是通过NAT到达。我认为最好的选择是一种TCP打孔,其中两个主机连接到某处,然后只是告诉对方(可以通过电话或聊天或类似方式)当前的IP地址和他们的路由器使用的端口号。它应该欺骗路由器将数据包转发到主机,虽然来自与最初连接的源不同的源。

是否有可能找到路由器用于以ipchicken.com以更本地方式修补您的端口号? 关于这个问题的其他可行方法有什么想法吗?

编辑:在这种情况下,在路由器上设置端口转发不是一个选项,因为许多人(包括我)对路由器没有管理员权限,我不想将这样的任务强加给“用户”我的申请

2 个答案:

答案 0 :(得分:1)

路由器将为每个传出连接使用不同的源端口,因此基于传出连接进行检查将不适用于您的用例。

对于传入连接,即,如果要访问NAT设备(如家庭路由器)后面的特定计算机,则必须明确打开路由器上的某些端口并设置转发规则。然后,路由器将侦听该端口上的传入连接,并根据配置的规则将其转发到machine:port。

如何执行此操作取决于特定的路由器品牌/型号。搜索网页或登录管理界面并环顾四周,应该很容易找到。但请确保您了解在路由器上打开端口的安全隐患!

根据已修改的问题进行更新:

没有端口转发,如果两个设备都在NAT之后,您唯一的解决方案就是拥有一个中间服务器!如果只有其中一个在NAT后面,您可以让该机器启动连接。

答案 1 :(得分:-1)

您可以将Stun服务器用作外部全局可访问服务器。