如何查看本机当前开放端口

联启 网络工具 2

本文目录导读:

如何查看本机当前开放端口-第1张图片-电脑手机工具软件下载 - 免费实用工具合集 | 联启科技

  1. Windows 系统
  2. macOS 或 Linux 系统
  3. 总结表格:快速查找开放端口
  4. 重要提示:

查看本机当前开放的端口,最常用的方法取决于你使用的操作系统(Windows、macOS 或 Linux),以下是针对不同系统的详细命令和方法:

Windows 系统

Windows 下最推荐使用 netstat 命令,这是系统自带的工具。

使用 netstat 命令

  1. 打开命令提示符或 PowerShell:按 Win + R,输入 cmd 并回车;或者在开始菜单搜索“命令提示符”。

  2. 输入命令

    netstat -ano

    参数解释

    • -a:显示所有连接和监听端口。
    • -n:以数字形式显示地址和端口号(不尝试解析名称,速度更快)。
    • -o:显示关联的进程 ID(PID)。
  3. 解读输出: 你会看到类似下面的表格:

    协议  本地地址          外部地址        状态           PID
    TCP    0.0.0.0:135        0.0.0.0:0        LISTENING     1234
    TCP    0.0.0.0:445        0.0.0.0:0        LISTENING     5678
    TCP    192.168.1.5:5040   0.0.0.0:0        LISTENING     9012
    • 协议:TCP 或 UDP。
    • 本地地址
      • 0.0.0:135 表示该端口正在监听所有网络接口(包括本机、局域网和互联网)。
      • 0.0.1:135 表示该端口仅监听本机(loopback),外部无法访问。
      • 168.1.5:5040 表示该端口监听在特定 IP 地址上。
    • 状态
      • LISTENING:这是开放端口,正在等待连接。
      • ESTABLISHED:已建立的连接(不是监听状态)。
      • CLOSE_WAITTIME_WAIT 等:连接关闭过程中的状态。
    • PID:占用该端口的进程 ID,如果你想知道是哪个程序,可以在任务管理器(Ctrl+Shift+Esc)的“详细信息”标签页中按 PID 查找。

使用 netstat 仅显示监听端口

netstat -ano | findstr LISTENING

这会只显示处于监听状态的端口,输出更精简。

使用 Get-NetTCPConnection (PowerShell) 如果你偏好 PowerShell,这个命令显示更友好:

Get-NetTCPConnection -State Listen

macOS 或 Linux 系统

在 macOS 和 Linux 上,可以使用 netstatsslsof 命令。

使用 netstat(通用,但部分系统需要安装)

sudo netstat -tlnp
  • -t:只显示 TCP 端口。
  • -l:只显示监听状态的端口(Listening)。
  • -n:以数字形式显示地址和端口。
  • -p:显示进程信息(需要 sudo 权限)。
  • 注意:在 macOS 上,netstat-p 参数略有不同,通常使用 -v-p <protocol>,但更推荐使用下面的 lsofss

使用 ss(Linux 推荐,现代系统首选)

ssnetstat 的现代替代品,速度更快,信息更全。

sudo ss -tlnp

输出示例:

State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    Process
LISTEN    0         128                0.0.0.0:22               0.0.0.0:*        users:(("sshd",pid=789,fd=3))
LISTEN    0         128                   [::]:22                  [::]:*        users:(("sshd",pid=789,fd=4))
  • Local Address:Port 中的 0.0.0:22 表示监听所有 IPv4 接口的 22 端口(SSH)。
  • [::]:22 表示监听 IPv6 接口的 22 端口。
  • Process 显示占用进程名和 PID。

使用 lsof(macOS 和 Linux 通用,功能强大)

lsof 可以列出所有打开的文件,包括网络端口。

sudo lsof -i -P -n | grep LISTEN
  • -i:显示网络相关的文件。
  • -P:以数字形式显示端口号(不解析服务名)。
  • -n:以数字形式显示主机名(不解析 DNS)。
  • grep LISTEN:过滤出监听状态的连接。

如果你只想看特定端口,80 端口:

sudo lsof -i :80 -P -n

总结表格:快速查找开放端口

操作系统 推荐命令 说明
Windows netstat -ano \| findstr LISTENING 显示所有监听端口及 PID
Windows Get-NetTCPConnection -State Listen PowerShell 命令,更直观
Linux sudo ss -tlnp 推荐,速度快,信息完整
Linux/macOS sudo lsof -i -P -n \| grep LISTEN 通用,功能强大
macOS sudo lsof -i -P -n \| grep LISTEN 首选方法

重要提示:

  • 权限:在 Linux 和 macOS 上,查看本机端口通常不需要 sudo,但为了查看进程信息(PID/程序名),通常需要 sudo,在 Windows 上,直接运行命令即可,但部分端口(如 1-1024)可能需要管理员权限才能显示完整信息。
  • 安全性:开放端口是网络攻击的潜在入口,如果你看到不熟悉的端口正在 LISTENING,建议用任务管理器(Windows)或 ps aux(Linux/macOS)查看对应的进程,确认其是否属于合法程序,如果有可疑端口,请进一步排查。

标签: netstat 端口开放

抱歉,评论功能暂时关闭!