怎么查服务器端口

怎么查服务器端口

要查询服务器端口的状态,可以通过多种方法实现,具体取决于使用的操作系统(如Linux、Windows)和需求(如查看开放端口、占用进程、端口监听情况等),以下是详细的操作步骤和工具介绍,帮助全面掌握服务器端口的查询方法,使用命令行工具查询端口(Linux系...

优惠价格:¥ 0.00
当前位置:首页 > 数据库 > 怎么查服务器端口
详情介绍

要查询服务器端口的状态,可以通过多种方法实现,具体取决于使用的操作系统(如Linux、Windows)和需求(如查看开放端口、占用进程、端口监听情况等),以下是详细的操作步骤和工具介绍,帮助全面掌握服务器端口的查询方法。

使用命令行工具查询端口(Linux系统)

在Linux系统中,命令行是最常用的端口查询方式,以下工具各有特点:

netstat命令

netstat是传统的网络状态查看工具,功能全面,适用于大多数Linux发行版。

  • 基本语法netstat [选项]
  • 常用选项
    • t:显示TCP端口
    • u:显示UDP端口
    • l:仅显示监听端口
    • n:以数字形式显示地址和端口(不解析域名)
    • p:显示占用端口的进程ID(PID)和名称
    • a:显示所有端口(包括监听和非监听)
  • 示例
    • 查看所有监听的TCP端口:netstat tuln
    • 查看监听端口及对应进程:netstat tulnp
    • 查看指定端口(如80端口)状态:netstat tuln | grep 80

ss命令

ssnetstat的替代工具,速度更快,默认已安装在新版Linux系统中。

  • 基本语法ss [选项]
  • 常用选项
    • t:TCP端口
    • u:UDP端口
    • l:监听端口
    • n:数字形式
    • p:显示进程信息
    • a:所有端口
  • 示例
    • 查看所有监听端口:ss tuln
    • 查看端口占用进程:ss tulnp | grep 80

lsof命令

lsof(list open files)可查看打开的文件、网络连接等,适合查询端口被哪个进程占用。

  • 基本语法lsof i [协议]:[端口]
  • 示例
    • 查看80端口占用情况:lsof i :80
    • 查看所有TCP端口:lsof i TCP

使用命令行工具查询端口(Windows系统)

Windows系统主要通过netstatPowerShell查询端口:

netstat命令

  • 基本语法netstat [选项]
  • 常用选项
    • an:以数字形式显示所有连接和端口
    • b:显示占用端口的可执行程序
    • o:显示进程ID(PID)
  • 示例
    • 查看所有端口:netstat an
    • 查看监听端口:netstat an | findstr "LISTENING"
    • 查看指定端口:netstat an | findstr ":80"

PowerShell命令

PowerShell提供更强大的查询功能,适合高级用户。

  • 基本语法
    • 查看所有监听端口:GetNetTCPConnection State Listen
    • 查看指定端口:GetNetTCPConnection LocalPort 80
  • 扩展:结合SelectObject可筛选更多信息,如GetNetTCPConnection State Listen | SelectObject LocalAddress, LocalPort, State, OwningProcess

使用图形化工具查询端口

Linux系统

  • nmap:端口扫描工具,可扫描本地或远程端口。
    • 安装:sudo apt install nmap(Ubuntu/Debian)或sudo yum install nmap(CentOS/RHEL)
    • 扫描本地开放端口:nmap localhost
    • 扫描指定端口:nmap p 80 localhost

Windows系统

  • 资源监视器

    打开任务管理器(Ctrl+Shift+Esc)→“性能”→“打开资源监视器”→“网络”→“TCP连接”。

  • TCPView:微软提供的免费工具,可实时查看端口和进程占用情况(需下载安装)。

远程服务器端口查询

若需查询远程服务器端口,需确保目标服务器开放了相应服务(如SSH、Telnet),并使用以下工具:

  • nmapnmap [服务器IP],扫描远程服务器开放端口。
  • telnet:测试端口是否可达,telnet [服务器IP] [端口](如telnet 192.168.1.1 80)。
  • nc(netcat)nc zv [服务器IP] [端口],检查端口连通性。

端口状态说明

状态 说明
LISTEN 端口处于监听状态,等待连接请求
ESTABLISHED 端口已建立连接,数据传输中
TIME_WAIT 连接已关闭,等待超时释放
CLOSE_WAIT 连接已关闭,但本地端口未关闭
FIN_WAIT_1 主动关闭连接,等待对方确认

常见问题排查

  • 端口被占用但无进程:可能是僵尸进程,需重启服务或系统。
  • 端口无法访问:检查防火墙(如iptablesfirewalld)或安全组规则。
  • 权限不足:查询占用进程可能需要root权限(Linux)或管理员权限(Windows)。

相关问答FAQs

Q1: 为什么netstat命令无法显示端口占用进程?
A: 可能是权限不足(Linux下需root权限)或系统未安装netstat(新版Linux推荐使用ss),可尝试sudo netstat tulnpss tulnp解决。

Q2: 如何区分TCP和UDP端口?
A: 使用netstat tuln时,tcp开头的为TCP端口,udp开头的为UDP端口;或直接使用ss t(TCP)和ss u(UDP)分别查询。

0