手机版 收藏 导航

Linux环境下如何获取服务器内网和公网IP

原创   www.link114.cn   2023-09-09 11:53:43

Linux环境下如何获取服务器内网和公网IP

在Linux环境下,有多种方法可以获取内网IP地址,下面列举几种常用的方法:

  1. 使用 ip addr 命令: 这个命令可以列出系统中所有的网卡信息,包括内网IP地址。运行 ip addr 命令,在输出中找到 inet 字段后的IP地址即可。
  2. 使用 ifconfig 命令: 这个命令也可以列出系统中所有的网卡信息,包括内网IP地址。运行 ifconfig 命令,在输出中找到 inet 字段后的IP地址即可。
  3. 使用 hostname -I 命令: 这个命令可以直接输出系统的内网IP地址,比前两种方法更加简单。

获取公网IP地址的方法相对内网IP地址来说要复杂一些,因为公网IP地址是由ISP(互联网服务提供商)分配的,不是由系统自己生成的。需要借助一些第三方服务来获取公网IP地址。下面列举几种常用的方法:

  1. 使用 curl 命令: 可以使用 curl 命令访问一些公开的IP查询网站,从而获取公网IP地址。例如 curl ifconfig.mecurl checkip.amazonaws.com
  2. 使用 Python 脚本: 也可以编写一个简单的 Python 脚本,通过访问公开的IP查询网站来获取公网IP地址。例如:
    import requests
    print(requests.get('http://ifconfig.me').text.strip())
  3. 使用 Bash 脚本: 同样也可以编写一个 Bash 脚本,通过访问公开的IP查询网站来获取公网IP地址。例如:
    #!/bin/bash
    curl -s http://checkip.amazonaws.com/

有时候,我们不仅需要获取服务器的内网IP,还需要获取公网IP。为一次性获取这两个信息,可以使用下面的综合方法:

#!/bin/bash
INTERNAL_IP=$(hostname -I | cut -d' ' -f1)
EXTERNAL_IP=$(curl -s http://checkip.amazonaws.com/)
echo "Internal IP: $INTERNAL_IP"
echo "External IP: $EXTERNAL_IP"

这个脚本首先使用 hostname -I 命令获取内网IP地址,使用 curl 命令获取公网IP地址。将这两个IP地址分别输出到控制台。

在Linux环境下获取服务器的内网IP和公网IP有多种方法,每种方法都有自己的优缺点。使用 ip addrifconfighostname -I 命令可以快速获取内网IP地址,而使用 curl 命令或编写脚本则可以获取公网IP地址。对于需要同时获取内网和公网IP的情况,可以使用综合方法一次性完成。希望本文对您有所帮助。