最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux 网络监测工具:netstat 的基本用法和输出解析
时间:2026-07-13 08:38:52 编辑:袖梨 来源:一聚教程网
netstat 是 Linux 经典网络统计工具,用于查看端口监听、连接状态、路由表及接口统计;常用命令包括 -tuln 查监听端口、-tan 查活跃连接、-i 查网卡统计,配合 sudo/grep/watch 可增强排查能力。
netstat 是 Linux 系统中用于查看网络连接、监听端口、路由表和接口统计的经典命令行工具。虽然现代系统更倾向用 ss(性能更好),但 netstat 因输出直观、参数丰富,仍是排查网络问题的首选之一。
常用组合命令快速上手
日常使用中,几个高频组合能覆盖大部分需求,建议熟记:
- netstat -tuln:查看本机所有 TCP/UDP 监听端口(数字格式),不解析域名或服务名,速度快、信息清晰
- netstat -tulnp:在上一条基础上加进程信息(需 root 权限),可明确知道哪个程序占用了某端口
- netstat -an | grep :80:快速筛选与 80 端口相关的所有连接(含监听、已建立、关闭中等状态)
-
netstat -r:显示当前内核路由表,等效于
route -n - netstat -i:列出各网卡收发包、错误、冲突等基础统计,适合初步判断网卡是否异常
关键输出字段怎么看
执行 netstat -tuln 后典型输出如下:
Proto Recv-Q Send-Q Local Address Foreign Address State
重点关注这几列:
-
Proto:协议类型,
tcp、udp或unix;UDP 无连接状态,所以 State 列为空或显示* -
Local Address:本机绑定地址,
0.0.0.0:22表示监听所有 IPv4 地址的 22 端口;127.0.0.1:631表示仅本地可访问 -
State:TCP 连接状态,常见值有:
•LISTEN—— 服务正在等待连接(监听端口)
•ESTABLISHED—— 双方已握手成功,正常通信中
•TIME_WAIT—— 主动关闭方等待确认,短连接多时该状态会大量出现
•CLOSE_WAIT—— 对端已关闭,本机未调用 close,可能程序未正确释放资源
如何查端口是否被占用
判断某个端口(如 3306)是否已被监听,分两步操作更可靠:
- 先运行 netstat -tuln | grep :3306,看是否有
LISTEN行;有即表示被占用 - 再加
-p查归属:sudo netstat -tulnp | grep :3306,末尾会显示进程名和 PID,例如mysqld或java - 注意:普通用户执行
-p时,非本用户进程可能显示为-或权限不足,此时需 sudo - 若没查到,不代表绝对空闲——某些程序可能用 raw socket 或未走标准套接字,需结合
lsof -i :3306辅助验证
补充说明与注意事项
netstat 默认不显示监听端口,必须显式加 -l;只加 -a 也不够,因为 -a 是“所有连接”,但 LISTEN 属于服务端 socket,需配合 -l 才能完整呈现。
CentOS 7+/Ubuntu 18.04+ 等较新系统默认不预装 netstat,需手动安装:
sudo yum install -y net-tools(RHEL/CentOS)
sudo apt install -y net-tools(Debian/Ubuntu)
输出中 Recv-Q 和 Send-Q 正常应为 0;若持续非零,说明应用读写阻塞或网络拥塞,需进一步查进程或网络链路。
相关文章
- 阴阳师残局得胜破霆劫怎么打详情 07-13
- 《和平精英》安卓转苹果手机教程-详细转区步骤解析 07-13
- 36氪app如何删除浏览记录 36氪APP删除浏览记录方法 07-13
- 阴阳师源氏秘造挑战初试之兵阵容推荐详情 07-13
- 36氪app怎么开启深色模式 36氪app开启深色模式方法 07-13
- Linux使用-route命令查看与修改IP路由表 07-13