Windows和Linux常用的netstat命令

发布于:2025-09-06 ⋅ 阅读:(20) ⋅ 点赞:(0)

以下是 WindowsLinux 系统中常用的 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 发行版中已逐渐被 ssip 命令取代,但仍广泛可用。如系统未安装,可通过 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 linkip -s link

总结
netstat 是网络诊断的经典工具,掌握其常用命令对系统管理员、开发人员和安全人员至关重要。尽管在 Linux 中逐渐被 ss 取代,但在 Windows 和许多旧系统中仍是核心排查手段。建议结合 findstr(Windows)或 grep(Linux)进行精准过滤。


网站公告

今日签到

点亮在社区的每一天
去签到