以下是 Windows 和 Linux 系统中常用的 netstat
命令及其功能说明,适用于网络状态查看、端口监听检查、连接排查等场景。
一、Windows 常用 netstat 命令
在 命令提示符(CMD) 或 PowerShell 中运行:
命令 | 功能说明 |
---|---|
netstat |
显示当前活动的网络连接(默认只显示 TCP 连接) |
netstat -a |
显示所有活动连接和监听端口(包括 TCP 和 UDP) |
netstat -an |
以数字形式显示地址和端口号(不解析主机名和服务名),速度快,便于排查 |
netstat -an | findstr "80" |
查看是否有进程占用 80 端口(可替换为其他端口) |
netstat -b |
显示创建每个连接或监听端口的 可执行程序名称(需管理员权限) |
netstat -e |
显示以太网统计信息(如发送/接收的字节数、错误包等) |
netstat -f |
显示外部地址的完全限定域名(FQDN) |
netstat -o |
显示连接对应的 进程 PID(可用于任务管理器查找进程) |
netstat -ano |
最常用组合:显示所有连接 + 数字格式 + 进程 PID(无需管理员权限) |
netstat -ano | findstr "PID" |
根据 PID 查看某进程的网络连接 |
netstat -p tcp |
只显示 TCP 协议的连接 |
netstat -p udp |
只显示 UDP 协议的连接 |
netstat -s |
按协议(TCP、UDP、IP、ICMP)显示统计信息 |
🔐 提示:使用
-b
参数需以 管理员身份运行 CMD,否则会提示“拒绝访问”。
二、Linux 常用 netstat 命令
⚠️ 注意:
netstat
在现代 Linux 发行版中已逐渐被ss
和ip
命令取代,但仍广泛可用。如系统未安装,可通过sudo apt install net-tools
(Debian/Ubuntu)或sudo yum install net-tools
(CentOS/RHEL)安装。
命令 | 功能说明 |
---|---|
netstat |
显示当前活动的网络连接(默认) |
netstat -a |
显示所有连接(包括监听和非监听状态) |
netstat -at |
只显示 TCP 连接 |
netstat -au |
只显示 UDP 连接 |
netstat -an |
以数字形式显示地址和端口(不解析,速度快) |
netstat -an | grep :80 |
查看 80 端口的连接或监听状态 |
netstat -l |
显示正在监听的端口(Listen 状态) |
netstat -lt |
显示正在监听的 TCP 端口 |
netstat -lu |
显示正在监听的 UDP 端口 |
netstat -ln |
显示监听端口,以数字形式显示地址和端口 |
netstat -lp |
显示监听端口及其对应的 进程名/PID(需 root 权限查看所有) |
netstat -tuln |
最常用组合:列出所有监听的 TCP/UDP 端口,数字格式,不解析服务名 |
netstat -s |
按协议显示网络统计信息(如错误包、重传等) |
netstat -c |
持续刷新输出(类似 watch 命令) |
netstat -i |
显示网络接口统计信息(类似 ifconfig ) |
三、实用示例(通用排查思路)
1. 查看本机开放了哪些端口(监听状态)
- Windows:
netstat -an | findstr LISTENING
- Linux:
netstat -tuln | grep LISTEN
2. 查看某个端口(如 3306)是否被占用
- Windows/Linux:
netstat -an | findstr ":3306"
netstat -an | grep :3306
3. 查看占用某端口的进程 PID
Windows:
netstat -ano | findstr ":80"
记下 PID,然后在任务管理器中查找对应进程。
Linux:
netstat -tulnp | grep :80
(
-p
显示进程名,需 root 权限)
4. 查看所有活动连接(排除监听状态)
- Windows/Linux:
netstat -an | findstr ESTABLISHED
netstat -an | grep ESTABLISHED
四、替代命令(现代推荐)
由于 netstat
已被标记为“过时”,推荐使用更高效的新命令:
功能 | 推荐替代命令 |
---|---|
查看连接/监听端口 | ss -tuln (比 netstat 更快) |
查看进程与端口 | lsof -i :端口号 |
查看接口统计 | ip link 或 ip -s link |
✅ 总结:
netstat
是网络诊断的经典工具,掌握其常用命令对系统管理员、开发人员和安全人员至关重要。尽管在 Linux 中逐渐被 ss
取代,但在 Windows 和许多旧系统中仍是核心排查手段。建议结合 findstr
(Windows)或 grep
(Linux)进行精准过滤。