📜  bash 获取公共 ip - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:39:29.421000             🧑  作者: Mango

Bash 获取公共 IP

在某些网络应用程序或IT环境中,您可能需要通过Shell脚本获取公共IP地址。在此处我们将介绍如何使用bash脚本来获取当前系统的公共IP。

使用 curl 命令获取公共 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
使用 dig 命令获取公共 IP

还可以使用DNS查询工具dig获取公共IP地址,方法如下:

dig +short myip.opendns.com @resolver1.opendns.com

这通过opendns.com的DNS解析器查询myip.opendns.com域名,返回与系统关联的公共IP地址。

同时获取 IPv4 和 IPv6 地址

如果您需要同时获取系统的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地址,也可以使用上面的脚本获取它们的组合。无论您选择哪个方法,它都非常容易集成到您的脚本或自动化工作流中。