📅  最后修改于: 2023-12-03 14:39:29.421000             🧑  作者: Mango
在某些网络应用程序或IT环境中,您可能需要通过Shell脚本获取公共IP地址。在此处我们将介绍如何使用bash脚本来获取当前系统的公共IP。
一种常见的方法是使用一个公共的API(比如icanhazip.com)来获取公共IP地址。可以使用 curl
命令从这个API获取公共IP地址,具体方法如下:
curl -s https://ipv4.icanhazip.com
这将返回系统的公共IPv4地址。使用IPv6地址获取公共IP的命令类似,只需将URL替换为具有IPv6支持的API:
curl -s https://ipv6.icanhazip.com
还可以使用DNS查询工具dig获取公共IP地址,方法如下:
dig +short myip.opendns.com @resolver1.opendns.com
这通过opendns.com的DNS解析器查询myip.opendns.com
域名,返回与系统关联的公共IP地址。
如果您需要同时获取系统的IPv4和IPv6地址,您可以使用以下脚本:
#!/bin/bash
ipv4=$(curl -s https://ipv4.icanhazip.com)
ipv6=$(curl -s https://ipv6.icanhazip.com)
echo "IPv4: $ipv4"
echo "IPv6: $ipv6"
该脚本使用之前介绍的curl命令获取IPv4和IPv6地址,并将其输出到标准输出中。
现在您已经知道如何在bash脚本中获取公共IP地址了。您可以使用curl或dig命令轻松地获取IPv4或IPv6地址,也可以使用上面的脚本获取它们的组合。无论您选择哪个方法,它都非常容易集成到您的脚本或自动化工作流中。