使用 Powershell 或 Cmd 获取非 VPN Ip

问题描述

我需要在连接到 vpn 时找出我的互联网提供商 IP。这可以通过向 icanhazip.com 发出请求来完成,但是当我需要我的 ISP 外部 Ip 时,它会返回我的 VPN(PPTP) Ip。

我需要用 Powershell 或 Cmd 来做,它应该是可自动化的。有人告诉我,在 Powershell 中应该有一个用于 Web 请求的命令,您可以在其中指定要使用的网关/接口,以便 icanhazip.com 返回我的 ISP 外部 IP。但是我找不到这个命令。

在我的用例中,我不允许更改路由表。并对系统配置进行任何更改。另外我应该可以从 C# 程序运行这个脚本,这就是为什么我想使用 Powershell。

解决方法

简单的答案是否定的,您不能这样做,因为 VPN 的工作方式及其配置方式。

VPN 的主要目的是通过安全隧道将所有流量路由到工作/其他网络。它的工作是让它完全看起来像你物理连接到工作/其他网络。这就是 icanhazip.com 返回您的外部工作 IP 地址而不是您的家庭地址的原因。换种说法,这就像你问我什么时候在工作,插入工作网络,“我的家庭 IP 地址是什么?”

此外,您分配的 IP 地址通常是“不可路由”地址(例如 10.xxx、172.16.xx),在 Internet 上不起作用,因此它只能通过工作网络进行路由。

您说得对,如果您能够编辑路由表,或者如果您的工作启用了“拆分隧道”,或者如果您能够禁用您的 VPN,那么将流量路由出您的家庭网络,然后获取您的家庭 IP 地址,否则不会。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...