linux 如何看ip

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

linux 如何看ip

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

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

使用ip addr命令(推荐)

ip addr是iproute2工具包的一部分,功能强大且在现代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命令(传统工具)

ifconfig是net-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 addr与ifconfig对比

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

linux 如何看ip

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

查看公网IP地址

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

使用curl或wget访问IP查询服务

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

示例:

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

输出示例:

curl ifconfig.me
203.0.113.123

使用nslookup或dig查询

若本地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),可使用ss或netstat命令。

使用ss命令(推荐)

ss是iproute2工具包的一部分,比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命令(传统工具)

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

示例:

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

输出解析:
与ss类似,但netstat的State字段用LISTEN、ESTABLISHED等表示,Local Address和Foreign 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 route或route命令查看路由表。

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 addr:ip addr show eth0 | grep "inet"(过滤IPv4地址);
  • 使用ifconfig:ifconfig 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版本中为PHP开发选择最合适的?

    在选择Linux版本用于PHP开发时,需要综合考虑开发需求、环境稳定性、软件包支持、社区活跃度及硬件资源等多方面因素,Linux发行版种类繁多,不同版本在包管理、默认软件版本、更新策略等方面存在差异,选择合适的版本能显著提升开发效率和环境可靠性,以下从核心需求出发,分析主流Linux发行版的特点,并提供不同场景……

    2025年8月27日
    27100
  • 如何在Linux系统中移动文件夹的具体操作步骤是什么?

    在Linux操作系统中,移动文件夹是一项基础且高频的操作,无论是整理文件系统、备份重要数据还是调整目录结构,都离不开对文件夹的移动,掌握正确的方法不仅能提高效率,还能避免数据丢失或权限问题,本文将详细介绍Linux上移动文件夹的多种方式、注意事项及常见问题解决方案,使用mv命令移动文件夹(最常用方法)mv(mo……

    2025年10月1日
    30700
  • Linux系统中如何查看环境变量的具体配置?

    在Linux系统中,环境变量是用于存储系统配置、用户信息以及程序运行所需参数的特殊变量,它们以“键=值”的形式存在,影响当前shell及其子进程的行为,查看环境变量是系统管理、调试程序和配置开发环境的基础操作,Linux提供了多种命令和方法来实现这一需求,下面将详细介绍常用方法及其应用场景,使用printenv……

    2025年9月27日
    23000
  • Linux Ubuntu如何给用户分配管理员权限?

    在Linux Ubuntu系统中,管理员权限通常指的是能够执行系统级操作(如安装软件、修改系统配置、管理用户等)的权限,Ubuntu默认禁用root账户登录,推荐使用sudo命令来临时提升权限,这种设计既保证了系统安全,又方便日常管理,本文将详细介绍如何在Ubuntu中为用户配置管理员权限,包括通过sudo组授……

    2025年8月28日
    27500
  • 想按名称或类型查找?试试这个技巧!

    基础通配符过滤通过 Shell 通配符快速匹配文件名:ls *.txt # 列出所有.txt文件ls report?.log # 匹配 report1.log, report2.log 等ls image[0-9].jpg # 匹配 image0.jpg 到 image9.jpgrm -v !(*.bak……

    2025年7月30日
    21600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信