文档首页> Linux命令> linux查看ip和端口

linux查看ip和端口

发布时间:2025-12-03 00:11       

一句话先说在前面:

查 IP 用 ip,查端口用 ss + lsof,这套组合足够应付绝大多数排查场景 👍


一、查看本机 IP 地址 🌐

1. 标准做法:查看所有网卡 IP

ip addr show

说明:

  • ip 是现在主流系统推荐的网络管理命令。
  • 输出里常见结构:
    • 2: eth0: ...:网卡名称(比如 eth0、ens3、ens160 等);
    • state UP:网卡已启用;
    • inet 192.168.1.10/24:IPv4 地址 + 子网掩码;
    • inet6 ...:IPv6 地址。

只想看 IPv4,可以这样:

ip -4 addr show

-4 表示仅显示 IPv4,输出更干净,适合日常使用。

2. 快速拿当前 IP(方便复制粘贴)

hostname -I

说明:

  • 一行直接输出本机所有非回环 IP。
  • 常用于「我要把服务器 IP 发给别人/填到面板上」这种场景,简单粗暴 😄。

二、查看端口监听情况 🔍

核心命令推荐用 ss,比老的 netstat 更轻量、更新。

1. 查看所有监听中的 TCP 端口

sudo ss -lntp

参数拆解:

  • -l:只显示监听(listen)状态的端口;
  • -n:直接显示端口号,不做服务名解析(例如显示 80 而不是 http);
  • -t:仅显示 TCP;
  • -p:显示占用端口的进程信息(需要 sudo)。

你重点看这几列:

  • Local Address:Port:本地 IP 和端口号,例如 0.0.0.0:80 代表所有 IPv4 地址上监听 80 端口;
  • PID/Program name:显示为 1234/nginx3306/mysqld 这样的形式,方便定位是谁占了这个端口。

2. 查看所有监听中的 UDP 端口

sudo ss -lnup
  • 把 -t 换成 -u,表示只看 UDP 协议。
  • 常用于排查 DNS 服务、某些内网服务等是否正常监听。

3. 一次性查看 TCP + UDP 监听端口

sudo ss -lntup
  • 同时加上 -t-u,所有监听端口一网打尽。
  • 适合做「服务器现在到底开了哪些服务」的总览 ✅。

三、精确查某个端口被谁占用 🧠

当你知道端口号(比如 80、443、3306),想直接看具体进程,可以用:

sudo lsof -i:80

说明:

  • lsof:列出系统当前打开的文件和网络连接;
  • -i:80:筛选使用 80 端口的所有连接。

输出中你可以看到:

  • 进程名(COMMAND);
  • 进程号(PID);
  • 用户、协议、IP、端口等信息。

端口换一下,就能查其他:

sudo lsof -i:443
sudo lsof -i:3306
sudo lsof -i:6379

四、实战排查的简单流程 ✅

可以按这个顺序来用命令:

  1. 先看 IP 是否正常:

    ip -4 addr show
    

    没 IP、IP 不在预期网段,就先检查网卡配置、路由、DNS,再谈端口。

  2. 再看服务端口是否在监听:

    sudo ss -lntup
    

    如果服务「自称」启动成功,但这里看不到对应端口,通常是配置文件没生效、绑定地址不对(比如只绑定了 127.0.0.1)。

  3. 最后精准定位占用端口的进程:

    sudo lsof -i:端口号
    

    当发现端口被别的程序占了,就可以决定是改端口,还是停掉冲突的进程。


一句话收尾 🎯

日常排查记住两个命令组合就够:
查 IP 用 ip -4 addr show / hostname -I
查端口用 ss -lntup + lsof -i:端口
既直观又适合线上运维和故障定位。