linux 如何看ip

在Linux系统中查看IP地址是网络管理的基础操作,无论是排查网络问题、配置服务还是监控连接状态,都需要掌握多种查看IP的方法,根据不同的需求(如查看本机IP、公网IP、网络连接状态等),Linux提供了丰富的命令工具,下面将详细介绍这些方法及其使用场景。

linux 如何看ip

查看本机网络接口与IP地址

本机IP地址通常指网络接口(如以太网、Wi-Fi)配置的IPv4或IPv6地址,这是本地网络通信的基础,Linux中最常用的命令ip addrifconfig(较旧系统可能默认安装)。

使用ip addr命令(推荐)

ip addriproute2工具包的一部分,功能强大且在现代Linux发行版中默认安装,通过该命令可以查看所有网络接口的详细信息,包括IP地址、MAC地址、接口状态等。

基本语法

ip addr [选项]

常用选项

  • show:显示所有接口信息(默认选项,可省略);
  • list:同show
  • s/stats:显示接口统计信息(如接收/发送数据包数);
  • brief:以简洁格式显示接口名称和IP地址。

示例

ip addr show          # 显示所有接口详细信息
ip addr show eth0     # 仅显示eth0接口信息
ip addr brief         # 简洁显示接口名称和IP

输出解析
ip addr show为例,输出内容大致如下:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::21a:2bff:fe3c:4d5e/64 scope link 
       valid_lft forever preferred_lft forever

关键字段说明:

  • lo:回环接口,IP为0.0.1,用于本地进程通信;
  • eth0:以太网接口,IPv4地址为168.1.100,子网掩码为/24(即255.255.255.0),广播地址为168.1.255
  • link/ether:MAC地址,唯一标识网络硬件;
  • UP:接口已启用;DOWN:接口已禁用;BROADCAST:支持广播;MULTICAST:支持多播。

使用ifconfig命令(传统工具)

ifconfignet-tools工具包的命令,在早期Linux系统中广泛使用,但部分新发行版(如Ubuntu 20.04+)默认不再安装,需手动安装net-tools包。

安装方法(Ubuntu/Debian):

sudo apt install net-tools

基本语法

ifconfig [接口名称] [选项]

示例

ifconfig          # 显示所有接口信息
ifconfig eth0     # 显示eth0接口信息
ifconfig eth0 up  # 启用eth0接口
ifconfig eth0 down # 禁用eth0接口

输出解析
ifconfig eth0为例,输出如下:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::21a:2bff:fe3c:4d5e  prefixlen 64  scopeid 0x20<link>
        ether 00:1a:2b:3c:4d:5e  txqueuelen 1000  (Ethernet)
        RX packets 12345  bytes 1234567 (1.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6789  bytes 987654 (964.5 KiB)
        TX errors 0  dropped 0  overruns 0  carrier 0  collisions 0

关键字段说明:

  • inet:IPv4地址及子网掩码;
  • broadcast:广播地址;
  • ether:MAC地址;
  • RX packets/TX packets:接收/发送的数据包数。

ip addrifconfig对比

为方便理解,以下是两者核心功能的对比:

linux 如何看ip

对比维度 ip addr ifconfig
所属工具包 iproute2(默认安装) net-tools(需手动安装)
功能丰富度 支持IPv4/IPv6、路由、隧道等复杂操作 仅支持基础接口配置,功能较简单
输出格式 结构化,字段清晰(如scopevalid_lft 较传统,部分字段冗余(如flags
推荐场景 新版Linux系统,日常运维 旧系统或兼容性需求

查看公网IP地址

本机IP地址通常是局域网IP(如168.x.xx.x.x),若需访问公网IP(即出口路由器分配的IP),需通过外部服务查询。

使用curlwget访问IP查询服务

通过HTTP请求获取第三方服务返回的公网IP,是最常用的方法。

示例

curl ifconfig.me          # 最简洁,直接返回公网IP
curl ipinfo.io/ip         # 返回IP,附带地理位置信息(需加`/ip`)
curl cip.cc              # 返回详细IP信息(运营商、地区等)

输出示例

curl ifconfig.me
203.0.113.123

使用nslookupdig查询

若本地DNS配置了公网IP解析服务(如resolver1.opendns.com),可通过DNS查询获取公网IP。

示例

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

输出示例

nslookup myip.opendns.com resolver1.opendns.com
Server:         208.67.222.222
Address:        208.67.222.222#53
Non-authoritative answer:
myip.opendns.com        canonical name = o-o.myip.opendns.com.
Name:   o-o.myip.opendns.com
Address: 203.0.113.123

查看网络连接的远程IP

当需要监控当前系统与哪些远程IP建立了连接(如排查异常连接、查看访问的网站服务器IP),可使用ssnetstat命令。

使用ss命令(推荐)

ssiproute2工具包的一部分,比netstat更快、功能更强大,默认安装于现代Linux系统。

基本语法

ss [选项] [过滤条件]

常用选项

  • t:显示TCP连接;
  • u:显示UDP连接;
  • l:显示仅监听端口;
  • n:以数字形式显示IP和端口(避免域名解析);
  • p:显示进程ID和名称;
  • a:显示所有连接(包括监听和未监听)。

示例

ss -tuln          # 显示所有TCP/UDP监听端口(数字形式)
ss -t -p         # 显示所有TCP连接及关联进程
ss -t src 192.168.1.100:80  # 显示本地IP为192.168.1.100、端口80的TCP连接

输出解析
ss -tuln为例,输出如下:

State      Recv-Q Send-Q Local Address:Port   Peer Address:Port
LISTEN     0      511          0.0.0.0:22          0.0.0.0:*
LISTEN     0      4096         127.0.0.1:6379       0.0.0.0:*
LISTEN     0      100          0.0.0.0:80           0.0.0.0:*

关键字段说明:

linux 如何看ip

  • State:连接状态(LISTEN表示监听,ESTABLISHED表示已建立连接,TIME_WAIT表示等待关闭);
  • Local Address:Port:本地IP和端口;
  • Peer Address:Port:远程IP和端口(若为0.0.0:*表示未连接)。

使用netstat命令(传统工具)

netstatnet-tools工具包的命令,功能与ss类似,但速度较慢,旧系统可能默认使用。

示例

netstat -tuln      # 显示所有TCP/UDP监听端口
netstat -t -p      # 显示所有TCP连接及关联进程
netstat -an | grep ESTABLISHED  # 过滤已建立的连接

输出解析
ss类似,但netstatState字段用LISTENESTABLISHED等表示,Local AddressForeign Address分别对应本地和远程地址。

查看DHCP与网络配置信息

若系统通过DHCP自动获取IP,可通过以下命令查看DHCP租约信息、网关、DNS等配置。

查看DHCP租约信息

Ubuntu/Debian系统:DHCP客户端租约信息存储在/var/lib/dhcp/dhclient.eth0.leases(接口名可能不同)。

cat /var/lib/dhcp/dhclient.eth0.leases | grep "fixed-address|option routers option domain-name-servers"

CentOS/RHEL系统:使用nmcli(NetworkManager命令行工具)查看DHCP配置:

nmcli connection show "连接名称" | grep ipv4.method  # 查看是否为DHCP
nmcli connection show "连接名称" | grep ipv4.dns      # 查看DNS服务器
nmcli connection show "连接名称" | grep ipv4.gateway  # 查看网关

查看默认网关与路由表

默认网关是局域网访问公网的出口,可通过ip routeroute命令查看路由表。

ip route show default  # 查看默认网关
ip route               # 查看所有路由条目

输出示例

default via 192.168.1.1 dev eth0 proto dhcp metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100

说明:默认网关为168.1.1,通过eth0接口可达。

Linux查看IP的方法需根据场景选择:

  • 本机接口IP:优先用ip addr,兼容旧系统可用ifconfig
  • 公网IP:通过curl访问第三方服务(如ifconfig.me);
  • 网络连接ss(推荐)或netstat查看远程IP及连接状态;
  • DHCP/路由nmcli(NetworkManager)、ip route或查看租约文件。

掌握这些命令,可高效解决网络配置、故障排查等问题。

相关问答FAQs

Q1:为什么在Linux中使用ifconfig命令提示“command not found”?
A:ifconfig属于net-tools工具包,部分新版Linux发行版(如Ubuntu 20.04、CentOS 8)默认不再安装该工具包,可通过以下方法解决:

  • Ubuntu/Debian:sudo apt install net-tools
  • CentOS/RHEL:sudo yum install net-tools(或dnf install net-tools)。
    建议优先使用ip addr替代ifconfig,因其功能更强大且默认安装。

Q2:如何快速定位某个特定网络接口(如eth0)的IP地址?
A:可通过以下命令直接显示指定接口的IP信息:

  • 使用ip addrip addr show eth0 | grep "inet"(过滤IPv4地址);
  • 使用ifconfigifconfig eth0 | grep "inet addr"(传统格式);
  • 使用nmcli(NetworkManager):nmcli device show eth0 | grep IP4.ADDRESS(显示IPv4地址及子网掩码)。
    ip addr show eth0 | grep "inet"会输出类似inet 192.168.1.100/24 brd 192.168.1.255,直接提取IP地址即可。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/18215.html

(0)
酷番叔酷番叔
上一篇 2025年8月27日 14:59
下一篇 2025年8月27日 15:11

相关推荐

  • Linux下如何安装安卓系统?

    在Linux系统中安装安卓系统是许多开发者和技术爱好者探索跨平台体验、满足特定应用需求或进行开发调试的常见需求,本文将详细介绍通过虚拟机、双系统、容器化等多种方式在Linux上安装安卓的具体步骤、注意事项及优缺点分析,帮助用户根据自身需求选择合适方案,通过虚拟机安装:安全隔离的轻量级方案虚拟机技术可在Linux……

    2025年9月18日
    2500
  • Linux设备注册的实现步骤与流程是怎样的?

    Linux设备注册是驱动开发中的核心环节,其本质是将硬件设备抽象为Linux内核可管理的设备对象,并建立与驱动的关联,从而实现用户空间对设备的访问,整个过程依托Linux设备模型展开,涉及设备号分配、设备结构体初始化、设备添加到系统模型等多个步骤,以下从设备模型基础、字符设备注册流程、其他设备类型注册及注意事项……

    2025年10月5日
    1000
  • Linux中如何创建软连接?

    在Linux系统中,软连接(符号链接)是一种特殊的文件类型,它类似于Windows系统中的快捷方式,指向另一个文件或目录的路径,软连接可以独立于源文件存在,即使源文件被移动或删除,软连接本身仍存在(但会失效),创建软连接的主要目的是方便访问、节省存储空间(特别是跨文件系统时)或管理分散的文件,本文将详细介绍在L……

    2025年10月4日
    1100
  • Linux静态库动态库如何正确打包?

    静态库打包步骤静态库在编译时直接嵌入程序,使用ar(归档工具)和ranlib创建:编译目标文件gcc -c source1.c source2.c -fPIC # -fPIC生成位置无关代码生成source1.o和source2.o,打包为静态库ar rcs libmylib.a source1.o sourc……

    2025年7月21日
    4700
  • Linux注释具体怎么操作?多场景命令与实例详解指南

    在Linux系统中,注释是提升代码、脚本和配置文件可读性与维护性的核心工具,无论是编写Shell脚本、修改系统配置文件,还是开发应用程序,合理的注释都能帮助自己和他人快速理解逻辑、参数含义或配置目的,本文将详细讲解Linux环境下不同场景下的注释方法,涵盖Shell脚本、配置文件及编程语言的注释语法,并总结最佳……

    2025年9月28日
    1500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信