最直接有效的方式是使用 netstat -a 命令;它显示所有活动的 tcp、udp 和 unix 套接字(含监听与已建立连接),默认解析域名,可搭配 -n 禁用解析,-p 显示进程,-tunlp(linux/macos)或 -ano(windows)提升实用性。

要列出系统中所有活动的网络套接字信息,最直接有效的方式是使用 netstat -a 命令。
基础命令:显示全部套接字
在终端或命令提示符中运行:
- netstat -a —— 显示所有活动的 TCP、UDP 和 Unix 套接字(含监听与已建立连接)
- 该命令会列出 IPv4 和 IPv6 的连接,但默认会尝试反向解析 IP 为域名,可能稍慢
推荐组合:快速、清晰、带进程标识
日常排查更常用的是增强版,兼顾可读性与实用性:
- netstat -ano(Windows):显示所有连接 + 数字地址 + 进程 PID
- netstat -tunlp(Linux/macOS):仅 TCP/UDP + 数字地址 + 监听状态 + 进程名(需 root 权限)
- 其中 -t(TCP)、-u(UDP)、-n(禁用 DNS 解析)、-l(只看监听端口)、-p(显示进程)
关键字段怎么看
输出通常包含五列,理解它们才能准确定位问题:
- Proto:协议类型(TCP / UDP)
- Local Address:本机 IP:端口;0.0.0.0:80 表示监听所有网卡,127.0.0.1:3306 表示仅本地访问
- Foreign Address:远程地址;*:*(UDP)或 0.0.0.0:0 表示未连接或未绑定
- State:连接状态,如 LISTENING(等待接入)、ESTABLISHED(已连通)、TIME_WAIT(连接关闭中)
- PID/Program name:对应进程 ID 或程序名,可用于进一步查杀异常服务
配合筛选,定位具体目标
面对大量输出,可用管道快速聚焦:
- 查某端口是否被占用:netstat -ano | findstr :8080(Windows)或 netstat -tunlp | grep :8080(Linux)
- 查某进程的所有网络行为:netstat -ano | findstr 1234(PID=1234)
- 只看已建立的连接:netstat -ano | findstr ESTABLISHED











