内部服务器的外部 IP

内部服务器的外部 IP

我已经看到了这个问题,但它并没有解决我当前的问题(它是关于获取当前机器的外部 IP 地址):
返回外部 IP 的 Windows 命令

我所在的网络有多个外部 IP 地址。我需要确定可能使用不同外部地址的内部计算机的外部地址。显然,我可以转到网络外的计算机并从那里 ping 它,但我该如何从里面网络?

我希望将其纳入自动化流程,因此最好使用 DOS 命令或 PowerShell 脚本。

答案1

我认为您唯一能做到这点的方法是使用外部服务。您可以将 system.Net.WebClient Powershell 库与网站一起使用http://icanhazip.com,它只返回您的外部 IP 地址。

$obj = New-Object system.Net.WebClient;
$ip = $obj.downloadString("http://icanhazip.com")

答案2

ifconfig.me 目前对我来说有点慢,但是它有效。

命令行

curl ifconfig.me

curl ifconfig.me/ip -> IP Adress
curl ifconfig.me/host -> Remote Host
curl ifconfig.me/ua ->User Agent
curl ifconfig.me/port -> Port

另一个是

C:\>wget -O abc.a ifconfig.me/ip 2>nul & type abc.a

(显然,你可以把那行 wget 放在一个 bat 文件中,这样就可以有效地为其创建快捷方式)

你必须下载 wget(最新版本在 cygwin 中/与 cygwin 捆绑在一起)或者使用 curlhttp://curl.haxx.se/download.html

我想补充一点,从技术上讲,您找到的是路由器/家庭路由器/NAT 设备的外部接口的 IP。因此,该设备与计算机插入的一侧相反。该设备面向墙壁并通过墙壁连接到您的 ISP 的一侧。那里的网络接口的 IP。

答案3

编辑:划掉,我把网关和外部 IP 搞混了。不过我找到了这个,里面有很多有用的信息。

我确信一定有一种简单的方法可以在本地完成,但是变量实在太多了。

如何从 Windows 命令行通过 nat 获取我的外部 ip 地址

答案4

我遇到了类似的问题,所以我编写了简单的命令行工具,你可以从 sourceforge 下载 OuterIP

相关内容