使用端口转发器应用程序在Android 2.3.6 wifi-tether上进行端口转发


11

与手机绑定时,我无法从网络外部进行端口转发连接。一般而言,我对路由器和网络了解不多,请耐心等待。

我的Android设备是直接连接到互联网的设备。为了能够通过Android设备从外部访问我的计算机,我目前正在使用名为Port Forwarder的免费应用,并且我的手机已启动,因此我获得了所需的授权。我在服务器上处理连接的端口是80。通过我访问服务器的IP地址(在网络内部)<local_ip.addr.ess.here>:80可以访问它,因此可以正常工作。

问题是当我试图从网络外部访问它时,该应用程序告诉我将源设置为80,将目的地设置为无论它是什么(其示例为8080)。当然,我将其设置为80,因为服务器正在监听。因此,我尝试使用外部访问服务器,<phone.public_ip.adr.ess>:80但它不起作用。

如您所知,我不知道自己在做什么,即使对于标准路由器,查找指南也很困难。有没有人成功使用过该应用程序,也许可以帮助我?由于无知,我可能遗漏了重要信息,如果是这样,请告诉我,我将更新问题。


我们在这里谈论的是什么“公共广播”?如果它是路由器分配的WiFi地址(通常类似192.168.*.*,但有时也可能是172.*.*.*10.*.*.*,请参阅Wikipedia),则它仅在本地网络内部可见,而不能直接从“外部世界”访问。这里需要路由器中的端口转发设置,有关详细信息,请参阅ServerFault
伊兹

不,这是来自Google的“我的IP地址”的地址(如果您尚未使用过,Google本身会提供一个可靠的IP地址)。您可能会误解这个问题,标题中的标题为“ wifi-tethering”。这意味着它不是我的Android设备上的常规路由器,而是我的路由器,因此成为相关站点。您甚至阅读了整个问题吗?我提到的是您似乎完全错过的应用程序,电话和其他相关内容。
justanotherhobbyist

1
我什至读过很多遍,但是我必须承认我有点困惑。您没有明确说明在那种情况下哪个设备充当“服务器”,所以我假定了通常的方向(单是“系绳”一词并不能指定谁是服务器,谁是客户端)。感谢您的澄清:这当然使我对ServerFault的评论过时了。//从80到80的端口对我来说看起来是正确的。我建议您adb logcat在尝试从外部访问时查阅Android日志(例如),以查看它是否至少到达了您的设备并记录了一些提示。
伊兹

1
谢谢!我刚刚编辑了一些内容,所以现在应该很清楚了(希望;至少没有人应该像我现在一样使用同一个陷阱)。如果您不喜欢我的编辑,请随时进行调整。//想法是您的提供者可能不允许这样做。要进行检查,请在Android设备上设置一些服务器(例如简单的FTP服务器),然后尝试是否可以从“外部世界”访问该服务器。如果这也不起作用,则是您的提供商阻止了该流量。如果可行,我们仍然可以进行进一步调查。
伊兹

1
我给我的提供者打电话,他们说他们允许。无论什么方式,只有一些“已知病毒端口”被阻止。因此问题应该出在手机本身上。
justanotherhobbyist 2013年

Answers:


2

我不确定您正在运行哪个版本,这是我的建议。您可能被阻止的原因是由于Android的防火墙和强大的Se-Linux策略。

由于您具有完全的root用户访问权限,因此可以使用ADB获得Shell,然后进行检查。输入su -,它将使您扎根。我正在使用TerminalEmulator,但如果OS附带了本机,则可以使用本机。

如果我对您的理解正确,则您的电话在网络共享模式下就像路由器一样。因此,这是转发数据包所必需的: echo 1 > /proc/sys/net/ipv4/ip_forward

看看是否有帮助。最有可能的是,您需要使用iptables,在共享端口上允许端口80,443。这不是完整的答案,但是发布为评论太久了。


1

答案是您的提供程序阻止了端口80,但是如果您切换到端口443,则他们将无法阻止它,因为端口443必须具有两种阻止HTTP发送和接收响应的通信方式。因此,从http更改为https://应该最有可能解决您的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.