Web 服务器 网页上可以看到公网 IP 地址

Web 服务器 网页上可以看到公网 IP 地址

我在 NAT 后面有一台 Raspberry Pi,运行 Linux 并托管一个 Web 服务器。我通过 Yaler 实用程序从外部访问网页,因为我有动态公共 IP 地址。有没有办法在网页上显示我当前的公共 IP 地址?如果我获得我的公共 IP 地址,我就可以访问该网络中的许多 NAT 设备。Yaler 域无法解析我的实际公共 IP 地址。

答案1

无论哪种方式,您都需要一些简单的脚本来实现这一点。

一个简单的例子是使用 DNS 查找。

如果您不能使用该host命令,请使用 安装它sudo apt-get install host

然后只需运行命令host -t a your.public.domain。这将导致如下结果:

your.public.domain 的地址为 12.34.56.78

您只需解析结果,例如在 PHP 中,您可以使用如下内容:

<?php
$ip = 'unknown';
if (preg_match('/has address (\d+\.\d+\.\d+\.\d+)/', exec('host -t a your.public.domain'), $m))
    $ip = $m[1];
echo "The public IP is $ip.";

请记住,这会使代码执行延迟大约一秒钟;因此您应该缓存结果。

相关内容