gpt4 book ai didi

android - 访问 NATed HTTP 服务器

转载 作者:可可西里 更新时间:2023-11-01 02:52:31 27 4
gpt4 key购买 nike

我的 Android 设备上托管了一个 HTTP 服务器。我希望它能够从互联网访问它,即使它连接到家庭 wifi(在无线路由器后面)也是如此。

此外,在路由器上配置静态端口转发不是一个选项,因为从互联网上,我无法访问路由器配置。

我有什么选择吗?

我试过这个:

Android 应用程序通过家庭 WIFI 从特定端口号(例如 8080)向 Internet 上的 Web 服务器发送来自 Android 设备(具有本地 IP 地址,例如 192.168.0.1)的 HTTP 请求,

路由器会将源地址修改为其公共(public) IP 地址(例如 111.100.45.65),并将源端口号修改为任意随机端口号(例如 39824),并在其动态 NAT 表中创建一个条目。

内部IP 内部端口 外部端口192.168.0.1 8080 39824

据我了解,此条目至少会保留几个小时。互联网上的 Web 服务器将报告源 IP 和端口分别为 111.100.45.65 和 39824。

在将 HTTP 请求从 Android 应用程序发送到互联网上的 Web 服务器后,我在设备的端口 8080 上运行了一个 HTTP 服务器。现在,如果我要从 Internet 向地址 111.100.45.65 的 39824 端口发送 HTTP 请求,它应该被设备上运行的 HTTP 服务器接收(路由器将从其动态 NAT 表解析请求并将其定向到我的设备) .

但由于某种原因,这个请求没有得到解决。任何指针。

最佳答案

首先关于从互联网访问路由器配置,大多数路由器实际上支持从WAN接口(interface)登录。大多数路由器默认关闭它,但只要您的密码安全,就没有理由不启用它。

其次,如果您在 Internet 上的 Web 服务器上设置代理,您尝试的方法将起作用。

  1. 通过发起从您的 Android 设备到互联网上网络服务器的连接来打一个 TCP 漏洞。
  2. 现在互联网上的网络服务器知道公共(public) IP 和目标端口,以便能够与 Android 设备对话。
  3. 自动化脚本可以在 Internet 上的 Web 服务器上配置代理服务器,将 HTTP 请求转发到 Android 设备。

顺便说一句,我怀疑NAT条目至少保留了几个小时。您可能希望在您的 Android 设备和 Internet 上的 Web 服务器之间实现一种保持 Activity 机制,以便 TCP 漏洞保持打开状态。

关于android - 访问 NATed HTTP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14757663/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com