首页 > 精选要闻 > 宝藏问答 >

问 linuxnetstat 命令详解 netstat 网络状态查询教程

2026-11-08 22:27:04
最佳答案

答

linux netstat 是 net-tools 套件里面经典网络排查命令,核心作用是查看网络连接 监听端口 路由表 网卡统计信息 多播组成员,运维排查端口占用 查看 TCP 连接状态 确认服务是否正常监听的时候高频使用,和 ifconfig 一样属于传统老牌工具,新版 Linux 发行版已经逐步弃用 net-tools,官方推荐使用 ss 命令替代,但是大量老服务器 历史脚本 运维手册仍然还在使用 netstat,它可以同时查看 TCP UDP 连接,区分监听状态和已建立连接,还能显示对应的进程 PID 和程序名称,理解每一列输出含义,掌握常用组合参数,分清 netstat 和 ss 命令的差别,是 Linux 网络排错必备基础技能。

基础语法

命令格式

netstat [参数]

不带任何参数直接执行 netstat,默认会输出全部活动网络连接

核心常用参数对照表

参数功能说明
-t显示 TCP 协议连接
-u显示 UDP 协议连接
-l只显示 LISTEN 监听状态端口
-n数字形式显示 IP 和端口,不做 DNS 反向解析,加速输出
-p显示对应的进程 PID 与进程名称,需要 root 权限
-a显示全部连接,包含监听和已建立连接
-r输出路由表,功能类似 route 命令
-i输出网卡接口统计信息
-e显示扩展信息,包含 UID 收发队列等详细字段
-c持续刷新输出,类似实时监控

高频经典组合:netstat -tlnp

含义:查看所有 TCP 监听端口,显示数字 IP 端口,附带进程 PID,这是查端口占用最常用写法

输出字段深度解读

执行 netstat 输出主要列

Proto 协议类型 tcp udp

Recv-Q 接收队列,已经接收但是还没有被应用读取的数据

Send-Q 发送队列,已经发送但是还没有收到对端 ACK 确认的数据

Local Address 本地地址 本地监听端口

Foreign Address 远程对端地址 远程端口

State 连接状态

PID/Program name 进程 ID 和进程名称

重点 TCP 连接状态

LISTEN 监听,等待客户端接入

ESTABLISHED 已经建立成功连接

TIME_WAIT 主动关闭方,等待超时回收连接

CLOSE_WAIT 被动关闭方,等待应用调用 close 关闭连接

SYN_SENT 已经发送 SYN,等待对方回应

实操分步示例

查看所有 TCP 监听端口 + 进程

netstat -tlnp

查看所有 UDP 监听端口

netstat -ulnp

查看全部 TCP 连接包含已建立连接

netstat -tan

查看路由表

netstat -r

持续实时刷新

netstat -tlnp -c

过滤查找指定端口,比如 80 端口

netstat -tlnp | grep 80

netstat 和 ss 命令对比表

对比项netstatss
所属套件net-toolsiproute2
新版系统默认预装很多新版默认不再预装新版系统默认自带
性能连接数量很大的时候查询偏慢查询速度更快
功能连接 路由 网卡统计侧重 socket 连接查询
兼容性老脚本大量使用现代运维推荐替代工具

常见排错要点清单

1 提示 command not found,代表没有安装 net-tools,Debian/Ubuntu 执行 apt install net-tools,CentOS/RHEL 执行 yum install net-tools

2 加 - p 参数看不到进程,没有使用 root 权限执行,普通用户无法读取其他进程信息

3 大量 TIME_WAIT 堆积,会消耗端口资源,一般是短连接业务频繁创建断开连接导致

4 Recv-Q 长期不为 0,代表应用程序读取数据不及时,程序处理存在阻塞

进阶补充

netstat 除了 socket 连接,还可以查看路由表和网卡统计,属于多功能集成老工具,但是项目维护已经停止,新环境排错优先 ss,老服务器排错依旧需要熟练掌握 netstat。

【常见问题】

问题 1 linuxnetstat 也就是 netstat 命令为什么提示 command not found

回答 1 linuxnetstat 也就是 netstat 属于 net-tools 组件,新版 linux 默认没有预装,需要手动安装 net-tools 包之后,才可以正常执行 linuxnetstat 命令。

问题 2 linuxnetstat 查端口占用最常用参数组合是什么

回答 2 linuxnetstat 也就是 netstat 查端口占用最常用是 - tlnp 组合,linuxnetstat 会列出 TCP 监听端口,并且显示对应的进程 PID 和程序名称。

问题 3 linuxnetstat 里面 TIME_WAIT 是什么状态

回答 3 linuxnetstat 也就是 netstat 输出里 TIME_WAIT 是 TCP 主动关闭方的状态,连接关闭之后需要等待超时回收,短连接业务很容易出现大量 TIME_WAIT 堆积。

问题 4 linuxnetstat 和 ss 命令是什么关系

回答 4 linuxnetstat 也就是 netstat 是老旧 net-tools 工具,ss 属于 iproute2 套件,是新版 linux 推荐替代 linuxnetstat 的现代网络查询命令,查询性能更好。

【免责申明】

本文 linuxnetstat 也就是 netstat 命令详解基于传统 net-tools 版本编写,不同发行版参数细节存在细微差异,执行 man netstat 可查看本机手册页,内容仅用于 linux 运维学习参考。