📜  ubuntu 获取外部 ip - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:35:26.676000             🧑  作者: Mango

Ubuntu 获取外部 IP - Shell/Bash

在执行某些网络操作时,例如建立 TCP 连接或开发一个服务,我们需要知道我们的网络 IP 地址。这个 IP 地址一般是由互联网服务提供商 (ISP) 提供的外部 IP。

在 Linux 系统中,获取外部 IP 的方法多种多样,本文中介绍使用 Shell/Bash 来实现获取外部 IP 的几种方法。

方法一:使用 Bash curl 命令查询
#!/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 命令和 grep 命令查询

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"
方法三:使用 dig 命令查询公共 DNS 来获取 IP 地址
#!/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 地址。