📅  最后修改于: 2023-12-03 15:35:26.676000             🧑  作者: Mango
在执行某些网络操作时,例如建立 TCP 连接或开发一个服务,我们需要知道我们的网络 IP 地址。这个 IP 地址一般是由互联网服务提供商 (ISP) 提供的外部 IP。
在 Linux 系统中,获取外部 IP 的方法多种多样,本文中介绍使用 Shell/Bash 来实现获取外部 IP 的几种方法。
#!/bin/bash
# 从网络查询当前外部 IP 地址
myip=$(curl -s https://api.ipify.org)
# 输出 IP 地址
echo "My public IP address is: $myip"
使用 curl 命令查询外部 IP 的示例代码如上所示。我们可以使用 Bash 语言中的 curl 命令访问网页,API 开放地返回 IP 地址即可。
代码片段:
#!/bin/bash
# 从网络查询当前外部 IP 地址
myip=$(curl -s https://api.ipify.org)
# 输出 IP 地址
echo "My public IP address is: $myip"
curl 命令可以在命令行中从网站获取响应,输出到终端。在这种情况下,我们可以将 curl 和 grep 命令组合起来以提取外部 IP 地址。
#!/bin/bash
# 从网络查询当前外部 IP 地址
myip=$(curl -s https://checkip.amazonaws.com/ | grep -Eo '[0-9.]+')
# 输出 IP 地址
echo "My public IP address is: $myip"
使用 curl 和 grep 命令查询外部 IP 的示例代码如上所示。我们可以使用 Bash 语言中的 curl 和 grep 命令从网站中提取 IP 地址。
代码片段:
#!/bin/bash
# 从网络查询当前外部 IP 地址
myip=$(curl -s https://checkip.amazonaws.com/ | grep -Eo '[0-9.]+')
# 输出 IP 地址
echo "My public IP address is: $myip"
#!/bin/bash
# 获取域名解析 IP 地址
myip=$(dig +short myip.opendns.com @resolver1.opendns.com)
# 输出 IP 地址
echo "My public IP address is: $myip"
使用 dig 命令查询外部 IP 的示例代码如上所示。我们通过查询公共 DNS 服务器获取 IP 地址。
代码片段:
#!/bin/bash
# 获取域名解析 IP 地址
myip=$(dig +short myip.opendns.com @resolver1.opendns.com)
# 输出 IP 地址
echo "My public IP address is: $myip"
现在,您可以使用任何一种 Bash 代码片段来获取您的外部 IP 地址。