如何获得公共 ipv4 而不是 ipv6

阿尼什·阿加瓦尔

我最近升级了我的宽带连接,所以新的有 ipv6 和 ipv4。我以前的只有 ipv4。我想将 ipv4 放在批处理文件中的变量中,而不是 ipv6。我使用的当前命令给出了默认 ip,所以之前它用于将 ipv4 存储在变量中,但现在它正在将 ipv6 存储在其中。我不知道如何获得 ipv4,因为我使用的 nslookup 只提供 ipv6。这是我当前的批处理文件。

@echo off
setlocal EnableExtensions Disabledelayedexpansion
cd /d "%~dp0"
for /f "tokens=1* delims=: " %%A in (
  'nslookup myip.opendns.com. resolver1.opendns.com 2^>NUL^|find "Address:"'
) Do set ExtIP=%%B

<save.ip set /p SavIP=
if "%SavIP%" neq "%ExtIP%" (
  echo %date% %time~0,5% : IP changed from %SavIP% to %ExtIP%.
  >save.ip echo %ExtIP%
  start http://%ExtIP%             #this is where I put the url
) else (
  echo ExtIP didn't change. Nothing to do.
)
黑客

我刚刚测试了这个批处理文件,它在我这边工作 5/5 !

@echo off
Title Get Public IP by Powershell and Batch
@for /f "delims=" %%# in (
'PowerShell -C "Resolve-DnsName -Name "'myip.opendns.com'" -Server "'resolver1.opendns.com'" | select IPAddress" ^| findstr "\."'
) do Set "MyPublicIP=%%#"
echo My Public IP Address  = %MyPublicIP%
pause

这是另一个调用子程序的程序 :GetPublic_IP <Target> <IP>

@echo off
Title Get Public IP by Powershell and Batch
Set "MyPublicIP=myip.opendns.com"
Set "Google=www.google.com"
Set "Yahoo=www.yahoo.com"
Set "Stack=www.stackoverflow.com"

Call :GetPublic_IP "%MyPublicIP%" MyPublicIP 
echo My Public IP Address       = %MyPublicIP%
Call :GetPublic_IP "%Google%" Google_IP 
echo Google IP Address          = %Google_IP%
Call :GetPublic_IP "%Yahoo%" Yahoo_IP 
echo Yahoo IP Address           = %Yahoo_IP%
Call :GetPublic_IP "%Stack%" Stack_IP
echo Stackoverflow IP Address   = %Stack_IP%
pause
EXIT
::------------------------------------------------------------------------------------
:GetPublic_IP <Target> <IP>
@for /f "delims=" %%# in (
'PowerShell -C "Resolve-DnsName -Name '"%~1"' -Server "'resolver1.opendns.com'" | select IPAddress" ^| findstr "\."'
) do Set "%2=%%#
Exit /B
::------------------------------------------------------------------------------------

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何让浏览器更喜欢IPv6而不是IPv4?

为什么是Get-DnsClientServerAddress | 选择AddressFamily输出而不是IPv4和IPv6

无法启动Jupyter Notebook:“似乎不是IPv4或IPv6地址”

将git配置为默认使用IPv4而不是IPv6

ValueError:“ 10.0.0.0/24”似乎不是IPv4或IPv6网络

我同时拥有IPv4和IPv6公共地址。为什么?

如何将地址从IPv4转换为IPv6

如何检查如果字符串的IPv4 / IPv6或域名?(JAVA)

客户端应用程序如何知道使用IPv4或IPv6?

如何在Java上同时支持IPv4和IPv6

如何过滤IPv4和IPv6地址?

如何分辨Qt5中QHostAddress是IPv4还是IPv6?

如何检测源地址是IPv4还是IPv6

如何使用PHP代码获取IPv4和IPv6地址?

如何强制Java使用IPv4代替IPv6?

PHP 如何检查提供的 IP 范围是 IPv4 还是 IPv6

如何在Android中使用mDNS从“ .local”解析ipv4和ipv6

如何在Swift中验证IPv4和IPv6地址?

如何与IPV4同时在WireShark中启用IPV6数据包捕获?

如何桥接IPv4但同时路由IPv6?

如何配置RabbitMQ管理插件以侦听IPV4和IPV6

如何使用AFNetworking将ipv4地址转换为ipv6?

如何将 UDP 流量从 IPv4 转发到 IPv6?

如何更喜欢使用IPv6 ULA而不是IPv6 GUA在本地子网中进行通信?

如何将IPV4地址与IPV6和IPV4一起放入powershell变量中?

如何获得网站的IPv6?

如何将IPV6地址转换为IPV4地址?

如何将IPv4和IPv6源地址都绑定到Python套接字?

debian 8:我的机器开始仅将 IPv6 用于 *outgoing* 连接。如何回到 IPv4?