为 NAT 后面的主机检索外部 IP 的稳定方法

2024-02-14

基本上我想显示主机外部面向公众的 IP 地址,无论它是否是 natted lan 的一部分。我现在所做的只是连接到 myipaddress.com 并从那里检索它。我只是不知道我是否信任该网站作为稳定的来源。是否有一些权威机构可以促进这一点?


公共互联网上的每个网络服务器都会自动看到您的外部 IP 地址。据我所知,没有标准化的方法来“反驳”(例如通过标题或其他东西)。

如果您想手动执行此操作,只需使用众多“我的 IP 是什么?”之一即可。周围的服务,如 www.infobyip.com/detectmyip.php

如果您想以自动化方式执行此操作,最稳定的方法是在远程服务器上设置脚本,并让其输出请求者的 IP。在 PHP 中,大多数情况下,它看起来像这样:

<? echo $_SERVER["REMOTE_ADDR"]; ?>

(Here https://stackoverflow.com/questions/1634782/what-is-the-most-accurate-way-to-retrieve-a-users-correct-ip-address-in-php详细讨论了如何以各种方式检索 IP,但如果上述方法对您一次有效,那么它很可能永远有效。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 NAT 后面的主机检索外部 IP 的稳定方法 的相关文章

  • 为什么 h_addr_list (在 hostent 结构中)类型为 char** 而不是 void*?

    我试图找出一段构建 hostent 对象的代码 更具体地说 它的工作部分是填充 h addr list 数组 我对分配到数组中的值被强制转换为这一事实感到困惑char 据我所知 这个数组与字符串无关 我注意到h addr list数组实际上
  • 即使 Android M 上的移动数据已打开(有连接),也可以通过 WiFi(无连接)发送请求

    我必须在没有互联网连接的情况下将 UDP 数据包发送到 WiFi 模块 配有自己的 AP 但是当我将手机连接到 AP 时 Android 会在移动数据接口上重定向我的数据包 因为它有互联网连接 我使用下面的代码来完成我的工作 但它似乎不适用
  • Java:无安全管理器:RMI 类加载器已禁用

    您好 我有 RMI 应用程序 现在我尝试从客户端调用服务器上的一些方法 我有以下代码 public static void main final String args try Setting the security manager Sy
  • 如何在c linux中收听特定接口上的广播?

    我目前可以通过执行以下操作来收听我编写的简单广播服务器 仅广播 hello int fd socket PF INET SOCK DGRAM 0 struct sockaddr in addr memset addr 0 sizeof ad
  • SQL Server“未找到网络路径”在不同环境中随机且不频繁地发生

    类似 如果不是同一个问题 随机遇到网络路径未找到异常 https stackoverflow com questions 38696448 network path not found exception encountered rando
  • 无法通过 macvlan 网络从主机访问 docker 容器

    在我的 Linux 网络中 我无法通过专用 macvlan 网络从运行它们的主机访问我的 docker 容器 到此 macvlan 网络的所有其他连接都正常 所以基本上设置是 DOCKER1 eth0 172 0 0 1 default e
  • 为什么 Kademlia 使用 UDP?

    为什么Kademlia 分布式哈希表 http en wikipedia org wiki Kademlia使用 UDP 作为其网络传输协议 即使它不可靠 主要原因是您快速查询了许多以前从未建立过联系并且可能在查找过程中永远不会再看到的节点
  • docker 主机 (OSX) 上的关闭端口在内部 docker 网络上保持/报告打开状态

    在 OSX 12 3 上将 Docker 升级到 4 6 0 后 当我停止 PHPStorm 中的 xdebug 监听客户端时 我遇到了一些奇怪的问题 似乎后续请求总是超时 因为 docker 报告 host docker internal
  • 使用 TCP 时是否需要使用校验和来保护我的消息?

    使用 TCP 作为网络协议 在通过线路发送消息之前 我会为每条消息的大小 以及可能的校验和 添加前缀 我想知道 计算和传输消息的校验和是否有意义 以确保消息将被不变地传递 如果以及何时传递 例如因为一些网络错误 目前 我在发送消息本身之前发
  • 从套接字读取 C HTTP

    我想知道如何判断是否已从套接字接收到所有数据 这是一个简单的网络代理 现在我正在处理请求部分 所以发送的内容应该以 r n r n 结尾 我不知道请求会持续多久 我在这里读过一些帖子 说我应该检查读取函数是否返回 0 但其他人说0只在客户端
  • Docker 容器是否有自己的 TCP/IP 堆栈?

    我试图了解来自连接到主机的线路并定向到 Docker 容器内的应用程序的网络数据包在幕后发生了什么 如果它是一个经典的 VM 我知道到达主机的数据包将由虚拟机管理程序 例如 VMware VBox 等 传输到 VM 的虚拟 NIC 并从那里
  • 停止 TcpListener 的正确方法

    我目前正在使用 TcpListener 来处理传入连接 每个连接都有一个线程用于处理通信 然后关闭该单个连接 代码如下 TcpListener listener new TcpListener IPAddress Any Port Syst
  • 了解路由表条目

    我想问一个关于Linux中route命令的问题 我已在 Linux 终端中输入以下命令 gt route 并得到输出 Destination Gateway Genmask Flags Metric Ref Use Iface 192 16
  • Java Socket/Serversocket WAN 连接

    我试图用我的计算机创建一个服务器 以便他们的计算机上的客户端可以与我的计算机连接和通信 我在端口 31350 上创建了服务器 客户端尝试通过我的路由器的 IP 地址进行连接 但只有当我在套接字创建参数中有 localhost 或我的计算机名
  • TCL类C10K事件服务器开发进展如何?

    TCL 是一种很好的简单编程语言 但似乎没有得到认可和 或尊重它deserves http antirez com articoli tclmisunderstood html 我 1995 年在大学时就学过它 但很快就忘记了 直到最近才再
  • 如何从 Android 应用程序检测 WiFi 网络中连接的所有设备

    我正在开发一个应用程序 我需要在其中扫描 WiFi 网络并显示所有已连接设备的列表 允许用户点击设备 应用程序应显示该特定设备的所有硬件信息 这里的硬件是指 RAM 存储介质 存储容量 设备名称 设备 IP 地址等 现在 该设备可以是 Xb
  • 10G 链路的 netcat 和 iperf 结果存在巨大差异

    我很困惑看到 netcat 和 iperf 结果之间的巨大差异 我有 10 G 链路连接我的服务器和客户端 iperf 的速度约为 10Gb s 但 netcat 的速度仅为约 280 MB s 可能是什么错误 对于 Iperf Serve
  • Chrome 开发者工具中“网络”选项卡中的“连接”是什么意思?为什么它仅在某些网站上显示?

    我一直试图在网上寻找解释 但似乎找不到 如果您在 Chrome 上访问像 youtube com 这样的网站 并将鼠标悬停在与文件名 http www youtube com 相对应的蓝色条上 您会看到四种不同的内容 阻塞 Sending
  • iPhone Simulator - 模拟慢速连接?

    有没有办法减慢 iPhone 模拟器的互联网连接速度 以便模拟当您处于蜂窝网络速度较慢的位置时应用程序的反应 如何安装 Apple 的网络链接调节器 这些说明截至 2019 年 10 月有效 警告 如果您刚刚升级到新版本的 macOS 确保
  • 从 Docker 容器发送多播数据包(到多播组)

    我有一个通过 UDP 多播发送消息的应用程序 我一直试图将其放在 docker 下 我在尝试从 Docker 容器发送多播数据包时遇到了很大的阻力 我已经能够通过 net host运行 docker 容器的选项 然而 我想坚持使用桥接配置

随机推荐