查看服务器地址和端口是网络运维、开发人员以及系统管理员必须掌握的核心技能,无论是排查网络连接故障,还是部署应用程序,准确获取服务器的IP地址及监听端口都是第一步,核心结论在于:根据操作系统的不同,利用系统内置的命令行工具(如Windows下的netstat,Linux下的ss或netstat)结合网络配置查询命令(如ipconfig或ifconfig),即可快速定位本地服务器的地址与端口状态;若需探测远程服务器,则需借助telnet或nmap等专业工具。

以下将分层展开具体的操作方法与专业解决方案。
Windows系统下的查看方法
在Windows服务器环境中,主要通过命令提示符(CMD)或PowerShell进行操作,这是最直接且无需安装额外软件的方式。
-
查看本机IP地址 本机IP地址是服务器在局域网或公网中的身份标识。
- 按下
Win + R键,输入cmd并回车。 - 输入命令
ipconfig。 - 查看输出结果中的“IPv4 地址”,如果存在多个网卡(如虚拟网卡),需根据网卡名称确认主要连接的IP。
- 按下
-
查看所有监听端口及对应进程 了解哪些端口正在被占用,以及占用端口的进程ID(PID),是解决端口冲突的关键。
- 在CMD中输入命令:
netstat -ano。 - 参数解析:
- -a:显示所有连接和监听端口。
- -n:以数字形式显示地址和端口号(不尝试解析名称,速度快)。
- -o:显示拥有该连接的进程ID(PID)。
- 若只想查看处于“监听”状态的端口,可使用 `netstat -ano | findstr LISTENING``。
- 在CMD中输入命令:
-
定位具体端口的占用程序 当发现某个端口(例如8080)被占用时,需要找到是哪个程序在运行。
- 记下该端口对应的PID。
- 输入命令:
tasklist | findstr "PID号"。 - 系统将返回该PID对应的映像名称(如java.exe、nginx.exe),从而确认具体的服务软件。
Linux系统下的查看方法
Linux服务器是生产环境的主流,其查看工具更为丰富和强大,掌握服务器地址端口怎么查看在Linux环境下尤为重要,因为Linux通常作为无图形界面的服务器运行。
-
查看本机IP地址
- 使用
ip addr命令(推荐),这是现代Linux发行版的标准命令,查看inet字段即可获得IP地址。 - 或使用
ifconfig命令(较老,部分系统需安装net-tools)。
- 使用
-
使用
ss命令查看端口(推荐)ss(Socket Statistics)是netstat的现代替代品,能够更快速、更详细地显示网络信息。- 输入命令:
ss -tuln。 - 参数解析:
- -t:显示TCP协议的连接。
- -u:显示UDP协议的连接。
- -l`:仅显示监听状态的套接字。
- -n:不解析服务名称,直接显示端口号。
- 输出结果中的
Local Address列会显示格式为0.0.0:80或::3306的信息,冒号后的数字即为端口号。
- 输入命令:
-
使用
netstat命令查看端口 如果习惯使用传统工具,netstat依然适用。
- 输入命令:
netstat -tulnp。 - -p 参数非常关键,它能直接显示监听该端口的进程名称和PID,无需像Windows那样二次查找,效率更高。
- 输入命令:
-
使用
lsof查看特定端口lsof(List Open Files)是一个功能强大的工具,在Linux中一切皆文件,网络连接也不例外。- 若要查看80端口被谁占用,输入:
lsof -i :80。 - 该命令能直接输出用户、PID、命令名称等信息,非常适合快速诊断。
- 若要查看80端口被谁占用,输入:
远程服务器端口的探测与验证
有时我们需要从外部确认目标服务器的某个端口是否对公网开放,或者防火墙是否放行了相关流量。
-
使用
telnet进行基础连通性测试 Telnet是经典的远程登录协议,常用于测试端口通断。- 命令格式:
telnet <服务器IP> <端口号>。 - 如果屏幕显示黑屏或连接成功的提示(如Connected to),说明端口是开放的,如果显示连接被拒绝或超时,则说明端口关闭或被防火墙拦截。
- 命令格式:
-
使用
nmap进行专业扫描 Nmap(Network Mapper)是网络发现和安全审计的神器,能提供比telnet更详细的信息。- 命令格式:
nmap -p <端口号> <服务器IP>。 - 若要扫描常见端口,可省略
-p参数。 - 结果会明确显示端口状态(open、closed、filtered),这对于排查防火墙配置问题极具权威性。
- 命令格式:
-
使用
curl或wget测试Web服务端口 针对80(HTTP)或443(HTTPS)端口,直接使用浏览器工具更直观。- 命令:
curl -I http://<服务器IP>:<端口号>。 - 通过返回的HTTP状态码(如200 OK),可以判断服务是否正常运行。
- 命令:
常见应用服务器的默认端口与配置
除了通过命令查看,了解常见服务的默认端口及其配置文件位置,也是专业运维人员必备的知识。
-
Web服务器
- Nginx:默认监听 80 端口,配置文件通常位于
/etc/nginx/nginx.conf或/etc/nginx/conf.d/下,修改listen指令可调整端口。 - Apache:默认监听 80 端口,配置文件通常为
httpd.conf,修改Listen指令。
- Nginx:默认监听 80 端口,配置文件通常位于
-
数据库服务器
- MySQL:默认监听 3306 端口,配置文件
my.cnf中的port参数控制。 - Redis:默认监听 6379 端口,配置文件
redis.conf中的port参数控制。 - PostgreSQL:默认监听 5432 端口。
- MySQL:默认监听 3306 端口,配置文件
-
远程连接

- SSH:默认监听 22 端口,出于安全考虑,管理员通常会修改此端口以减少暴力破解风险。
- RDP (Windows远程桌面):默认监听 3389 端口。
端口查看的安全与权限注意事项
在进行上述操作时,必须遵循E-E-A-T原则中的安全与可信度要求。
-
权限问题
- 在Linux系统中,查看其他用户进程监听的端口(通常小于1024的特权端口)或查看所有网络连接,需要 root 权限,请在命令前加
sudo,如sudo ss -tulnp。 - 在Windows中,部分系统信息查询也需要管理员权限运行CMD。
- 在Linux系统中,查看其他用户进程监听的端口(通常小于1024的特权端口)或查看所有网络连接,需要 root 权限,请在命令前加
-
数据隐私
- 在使用
nmap或netstat时,注意不要在公共网络环境中泄露敏感的内部网络拓扑信息。 - 生产环境中,非必要端口应默认关闭,通过防火墙策略限制访问来源,仅开放业务必需的端口。
- 在使用
相关问答
Q1:为什么我修改了配置文件中的端口,重启后查看端口还是旧的? A:这种情况通常由三个原因导致,第一,修改了配置文件但未正确执行重启命令,导致服务未重新加载配置;第二,系统中存在多个同名服务或残留的僵尸进程占用了旧端口,需强制kill进程;第三,配置文件修改错误,服务启动失败并回滚到了上次成功的配置状态,建议先检查服务状态日志,确认服务是否已成功启动并加载了新配置。
Q2:如何快速判断服务器端口是被防火墙拦截还是服务未启动?
A:这是一个经典的排查问题,首先在服务器本地使用 netstat 或 ss 查看端口是否处于 LISTEN 状态,如果本地没有监听,则是服务未启动或配置错误;如果本地已监听,但在外部无法 telnet 通,则极有可能是防火墙(如iptables、firewalld或云厂商的安全组)拦截了入站流量,此时应检查防火墙规则列表,确认是否放行了对应端口的TCP/UDP流量。
掌握这些方法,无论是面对本地开发环境的调试,还是生产环境的故障排查,都能让你对服务器的网络状态了如指掌,希望这些专业的解决方案能帮助你更高效地完成工作,如果你在操作过程中遇到其他问题,欢迎在评论区分享你的具体情况。