Ubuntu netstat命令详解(小白也能看懂的Linux网络诊断工具)

来源:这里教程网 时间:2026-03-28 14:40:26 作者:

在使用 Ubuntu 或其他 Linux 系统时,你是否曾遇到过网络连接异常、某个端口被占用却不知道是哪个程序在使用?这时,netstat 命令就派上用场了!本文将手把手教你如何使用

netstat
查看网络连接状态、监听端口、路由表等信息,即使你是 Linux 新手,也能轻松掌握。

什么是 netstat?

netstat
(Network Statistics 的缩写)是一个用于显示网络连接、路由表、接口统计、伪装连接和多播成员的命令行工具。虽然在较新的系统中它正逐渐被
ss
(socket statistics)命令取代,但因其语法直观、功能全面,仍被广泛使用。

安装 netstat(如未预装)

在某些精简版的 Ubuntu 系统中,

netstat
可能未默认安装。它属于
net-tools
软件包,可通过以下命令安装:

sudo apt updatesudo apt install net-tools

常用 netstat 命令示例

1. 查看所有活动的网络连接

使用以下命令可以列出所有 TCP 和 UDP 连接:

netstat -a

2. 仅查看 TCP 连接

netstat -t

3. 仅查看 UDP 连接

netstat -u

4. 显示监听中的端口(重要!)

这是排查“端口被占用”问题的关键命令:

netstat -l

5. 同时显示 PID 和程序名(强烈推荐)

加上

-p
参数可以知道是哪个进程占用了端口,这对 查看端口占用 非常有用:

sudo netstat -tulnp

参数说明:

-t
:TCP 协议
-u
:UDP 协议
-l
:仅显示监听(listening)状态的套接字
-n
:以数字形式显示地址和端口号(不解析主机名和服务名,速度更快)
-p
:显示进程 ID(PID)和程序名称

实战案例:找出占用 80 端口的程序

假设你启动 Nginx 时提示“Address already in use”,说明 80 端口已被占用。你可以这样查:

sudo netstat -tulnp | grep :80

输出可能如下:

tcp6 0 0 :::80 :::* LISTEN 1234/nginx: master

这说明 PID 为 1234 的 nginx 主进程正在监听 80 端口。

常见问题与注意事项

使用
-p
参数通常需要
sudo
权限,否则看不到非当前用户的进程信息。
netstat
在较新版本的 Ubuntu 中已不推荐使用,官方建议改用
ss
命令(如
ss -tuln
),但
netstat
更易理解,适合初学者。 若只想快速查看某个端口是否被占用,也可结合
lsof
命令:
sudo lsof -i :80

总结

通过本文,你应该已经掌握了如何在 Ubuntu 中使用 netstat 命令 进行基本的 网络连接状态 查看和 Linux 网络诊断。无论是排查服务启动失败、检查防火墙规则,还是学习网络知识,

netstat
都是一个实用的工具。

记住关键命令:

sudo netstat -tulnp
,它能帮你快速定位问题所在。希望这篇教程对你有帮助!

关键词回顾:Ubuntu netstat命令网络连接状态Linux网络诊断查看端口占用

相关推荐

热文推荐