linux查看ip和端口
一句话先说在前面:
查 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/nginx、3306/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
四、实战排查的简单流程 ✅
可以按这个顺序来用命令:
-
先看 IP 是否正常:
ip -4 addr show没 IP、IP 不在预期网段,就先检查网卡配置、路由、DNS,再谈端口。
-
再看服务端口是否在监听:
sudo ss -lntup如果服务「自称」启动成功,但这里看不到对应端口,通常是配置文件没生效、绑定地址不对(比如只绑定了 127.0.0.1)。
-
最后精准定位占用端口的进程:
sudo lsof -i:端口号当发现端口被别的程序占了,就可以决定是改端口,还是停掉冲突的进程。
一句话收尾 🎯
日常排查记住两个命令组合就够:
查 IP 用ip -4 addr show/hostname -I,
查端口用ss -lntup+lsof -i:端口,
既直观又适合线上运维和故障定位。