在管理和维护服务器时,了解如何通过命令行查看服务器的IP地址是一项基础且重要的技能,无论是进行网络配置、故障排查,还是安全审计,准确获取IP信息都是解决问题的第一步,本文将详细介绍在不同操作系统中使用命令行查看服务器IP地址的方法,并涵盖一些常见场景和高级技巧,帮助您高效完成这一任务。

Linux系统下查看IP地址的命令行方法
Linux系统作为服务器操作系统的主流选择,提供了多种命令来查看IP地址,以下是几种常用的方法:
使用 ip 命令
ip 命令是 ifconfig 的替代品,功能更强大且信息更全面,在大多数现代Linux发行版中,ip 命令是默认安装的。
-
查看所有网络接口的IP地址
ip addr show
该命令会列出所有网络接口(如eth0、ens33、lo等)的详细信息,包括IP地址、子网掩码、MAC地址等,输出结果中,
inet关键字后面的即为IPv4地址,inet6对应的是IPv6地址。 -
查看特定网络接口的IP地址
如果只想查看某个接口(如eth0)的信息,可以指定接口名称:ip addr show eth0
使用 ifconfig 命令
ifconfig 是传统的网络配置工具,虽然在新系统中逐渐被 ip 命令取代,但许多系统仍支持使用。
- 安装
ifconfig
如果系统中未安装ifconfig,可以通过以下命令安装(以Ubuntu为例):sudo apt install nettools
- 查看IP地址
ifconfig
或查看特定接口:
ifconfig eth0
使用 hostname 命令
hostname 命令可以显示系统的主机名,结合 I 参数可以直接显示所有网络接口的IP地址:
hostname I
该命令简洁高效,适合快速获取IP地址。
查看网络配置文件
在Linux中,网络配置通常存储在 /etc/network/interfaces(Debian/Ubuntu)或 /etc/sysconfig/networkscripts/(CentOS/RHEL)文件中,通过查看这些文件,可以了解静态IP或DHCP配置信息:

cat /etc/network/interfaces
Windows系统下查看IP地址的命令行方法
Windows服务器同样支持通过命令行查看IP地址,以下是常用方法:
使用 ipconfig 命令
ipconfig 是Windows中最基础的网络信息查询工具。
-
查看所有网络接口的IP配置
ipconfig
-
显示详细信息
ipconfig /all
该命令会返回每个接口的IP地址、子网掩码、默认网关、DNS服务器等详细信息,非常适合故障排查。
-
刷新并释放/重新获取IP地址
如果需要重新获取IP地址(例如从DHCP服务器),可以使用以下命令:ipconfig /release ipconfig /renew
使用 GetNetIPAddress PowerShell命令
PowerShell是Windows更强大的命令行工具,适合高级用户:
GetNetIPAddress AddressFamily IPv4
该命令会列出所有IPv4地址及其关联的接口信息。
查看公网IP地址的方法
有时需要获取服务器的公网IP地址(即外部IP),例如配置防火墙规则或远程连接,以下是几种方法:
使用 curl 或 wget 调用在线服务
通过访问提供IP查询的网站,可以快速获取公网IP:

- Linux/macOS
curl ifconfig.me # 或 curl icanhazip.com
- Windows
curl ifconfig.me
使用 nslookup 或 dig 查询
通过DNS查询工具也可以获取公网IP:
nslookup myip.opendns.com resolver1.opendns.com
高级技巧与注意事项
-
脚本化IP查询
在自动化运维中,可以将IP查询命令写入脚本,在Linux中通过ip命令提取IP地址:ip addr show eth0 | grep "inet " | awk '{print $2}' | cut d/ f1 -
区分IPv4和IPv6
如果系统同时配置了IPv4和IPv6,可以通过4或6参数过滤结果。ip 4 addr show
-
虚拟化与容器环境
在虚拟机或Docker容器中,IP地址可能通过桥接或NAT分配,需结合宿主机或网络配置文件进一步排查。 -
权限问题
部分命令(如ipconfig /all)可能需要管理员权限,建议在命令行前添加sudo(Linux)或以管理员身份运行(Windows)。
相关问答FAQs
Q1: 为什么 ifconfig 命令在Linux系统中无法使用?
A1: 在较新的Linux发行版(如Ubuntu 18.04+、CentOS 7+)中,ifconfig 命令已被 ip 命令取代,默认不再安装,可以通过 sudo apt install nettools(Ubuntu)或 sudo yum install nettools(CentOS)安装,但建议优先使用 ip 命令,因其功能更全面且符合现代Linux标准。
Q2: 如何通过命令行区分服务器的内网IP和公网IP?
A2: 内网IP通常以 x.x.x、16.x.x172.31.x.x 或 168.x.x 开头,可通过 ip addr show 或 ipconfig 查看本地接口IP确定,公网IP则需要通过在线服务(如 curl ifconfig.me)或路由器配置查看,如果服务器位于NAT网络后端,本地IP为内网IP,需通过网关或防火墙的映射规则获取公网IP。
