查询服务器地址及端口是网络运维、故障排查以及安全审计中的基础且关键的环节,核心结论在于:通过操作系统内置的命令行工具(如 netstat、ss)或专业的网络扫描工具(如 Nmap),结合配置文件查看,可以精准定位服务器监听的 IP 地址与对应端口,针对不同的操作系统环境(Windows 或 Linux)以及查询场景(本机查询或远程探测),具体的操作指令存在差异,掌握这些指令是高效管理服务器的必备技能,对于技术人员而言,熟练掌握服务器地址端口怎么查询能够极大提升排查网络连通性问题的效率。

Windows 系统下的端口查询方法
在 Windows 服务器环境中,管理员主要依赖命令提示符(CMD)或 PowerShell 来获取网络连接状态,最常用且经典的工具是 netstat。
-
使用 Netstat 命令 Netstat(Network Statistics)用于显示协议统计和当前 TCP/IP 网络连接,要查看服务器当前监听的端口,建议使用管理员权限运行命令行。
- 按下
Win + R键,输入cmd,并以管理员身份运行。 - 输入命令:
netstat -ano- -a:显示所有活动的 TCP 连接以及计算机监听的 TCP 和 UDP 端口。
- -n:以数字形式显示地址和端口号,加快显示速度且避免 DNS 解析延迟。
- -o:显示与每个连接关联的所属进程 ID (PID)。
结果解读: 在“本地地址”一列中,格式通常为
IP地址:端口号,如果显示为0.0.0:80,表示该服务正在监听所有网卡 IP 地址的 80 端口;如果显示为0.0.1:3306,则表示该端口仅允许本机访问(如 MySQL 数据库默认配置),状态为LISTENING的行即代表当前服务器开放并正在等待连接的端口。 - 按下
-
使用 PowerShell 高级查询 PowerShell 提供了更为结构化和易于处理的对象化指令。
- 打开 PowerShell。
- 输入命令:
Get-NetTCPConnection -State Listen - 若要查看具体是哪个程序占用了端口,可以结合管道查询:
Get-NetTCPConnection -LocalPort 80 | Select-Object -Property OwningProcess
Linux 系统下的端口查询方法
Linux 服务器提供了更为丰富和高效的网络工具,除了传统的 netstat,现代 Linux 发行版更推荐使用 ss 和 lsof 进行查询。
-
使用 SS 命令(推荐)
ss(Socket Statistics) 是用于获取 socket 统计信息的工具,它比netstat更快、更详细,能够直接从内核空间获取信息。- 登录 Linux 服务器终端。
- 输入命令:
ss -tulpn- -t:显示 TCP 套接字。
- -u:显示 UDP 套接字。
- -l:仅显示监听状态的套接字。
- -p:显示使用套接字的进程信息(需要 root 权限)。
- -n:不解析服务名称,直接显示端口号。
结果解读: 输出信息中,“Local Address:Port” 即为服务器监听的地址和端口。“Process” 列会直接显示占用该端口的程序名称和 PID,
nginx(pid:1234),这是排查端口冲突最快的方式。
-
使用 Netstat 命令(传统) 如果系统未安装
ss,netstat依然是可靠的备选方案。 命令:netstat -tulpn其参数含义与ss基本一致,适合习惯旧版工具的管理员。 -
使用 Lsof 命令
lsof(List Open Files) 用于列出当前系统打开的文件,在 Linux 中,一切皆文件,网络端口也不例外。 命令:lsof -i :端口号查询 80 端口:lsof -i :80,此命令能清晰地展示出是哪个用户和进程正在使用该端口。
远程服务器端口探测方法
有时我们需要从外部检查目标服务器的端口是否开放(即防火墙是否放行),这通常用于连通性测试。
-
使用 Telnet 工具 Telnet 是最原始的探测工具,用于测试特定端口是否可达。 命令格式:
telnet 服务器IP 端口telnet 192.168.1.10 22如果屏幕显示Connected to...或黑屏(光标闪烁),说明端口是开放的;如果显示Connection refused或Connection timed out,则说明端口未开放或被防火墙拦截。 -
使用 Nmap 工具(专业扫描) Nmap 是网络扫描神器,功能强大且信息详尽。 命令:
nmap -p 1-65535 服务器IP参数-p 1-65535表示扫描全端口,Nmap 会列出目标服务器上所有处于open(开放)、closed(关闭)或filtered(被过滤)状态的端口,并识别可能的服务类型。 -
使用 NC (Netcat) 工具 Netcat 被称为网络界的“瑞士军刀”。 命令:
nc -zv 服务器IP 端口-z表示扫描但不发送数据,-v显示详细信息,成功连接会返回succeeded!。
通过配置文件与 Web 控制面板查询
对于非技术人员或不想记忆命令的用户,可以通过服务配置文件或服务器管理面板查询。

-
查看服务配置文件 大多数服务的端口都在其配置文件中定义。
- Nginx/Apache:查看
nginx.conf或httpd.conf中的listen指令。 - SSH:查看
/etc/ssh/sshd_config中的Port指令。 - MySQL:查看
my.cnf中的port参数。
- Nginx/Apache:查看
-
使用服务器管理面板 如果服务器安装了宝塔面板、cPanel 或 WAF 控制台,通常在“安全设置”或“软件商店”的运行状态中,会直接列出当前服务监听的内网 IP 和端口,并提供一键放行功能。
常见问题与注意事项
在进行端口查询时,可能会遇到权限不足或端口被占用的情况。
- 权限问题:在 Linux 下使用
ss -p或lsof时,必须在命令前加sudo,否则无法看到进程名称。 - IPv6 与 IPv4:查询结果中可能会看到 开头的地址,这代表 IPv6 的监听状态,如果服务器未配置 IPv6,需检查服务配置是否显式绑定了 IPv4。
- 防火墙干扰:即使本机
netstat显示端口处于LISTENING状态,外部依然无法连接,这通常是因为云服务商的安全组、系统自带的firewalld或iptables规则未放行该端口,查询时需结合iptables -L或云控制台安全组规则进行综合判断。
无论是通过命令行还是工具,服务器地址端口怎么查询的核心在于理解网络协议与系统权限,Windows 环境下侧重于 netstat 和 PowerShell,Linux 环境下侧重于 ss 和 lsof,而远程探测则依赖 telnet 和 nmap,根据实际场景选择合适的方法,能够迅速定位网络故障,保障服务器业务的稳定运行。
相关问答
Q1:为什么本机显示端口正在监听,但外部无法访问该端口?
A1: 这是一个典型的防火墙或安全组配置问题,检查服务器操作系统内部的防火墙(如 Windows Firewall、Linux 的 iptables 或 firewalld)是否允许该端口的入站流量,如果服务器托管在云平台(如小鸟云、AWS),必须检查云控制台的“安全组”规则,确保入站方向已放行对应的协议和端口,服务配置可能绑定了 0.0.1,导致仅允许本机访问,需修改配置为 0.0.0 或具体的外网 IP。
Q2:如何快速查找占用特定端口号(8080)的进程并终止它?
A2: 在 Windows 中,可以使用命令 netstat -ano | findstr :8080 找到 PID,然后使用 taskkill /PID [PID号] /F 强制结束进程,在 Linux 中,可以使用命令 lsof -i :8080 或 ss -tulpn | grep :8080 查看进程名和 PID,然后使用 kill -9 [PID号] 终止进程,操作前请确认该进程对应的业务,避免误杀导致服务中断。