如何在VPS上查看已开放的端口?
| 方法 |
适用系统 |
命令示例 |
功能说明 |
| netstat |
Linux |
netstat -tuln |
显示所有监听中的TCP/UDP端口 |
| ss |
Linux |
ss -tuln |
更现代的替代netstat的工具 |
| lsof |
Linux |
lsof -i -P -n | grep LISTEN |
显示占用端口的进程信息 |
| Get-NetTCPConnection |
Windows |
Get-NetTCPConnection -State Listen |
PowerShell查看监听端口 |
| Windows防火墙 |
Windows |
netsh advfirewall show rule |
查看防火墙允许的端口规则 |
VPS端口查看操作指南
一、端口查看方法概览
在VPS上查看端口是服务器管理的基础操作,不同操作系统提供了多种工具来实现这一功能。以下是主流系统的端口查看方法:
| 方法 |
适用系统 |
命令示例 |
功能说明 |
| netstat |
Linux |
netstat -tuln |
显示所有监听中的TCP/UDP端口 |
| ss |
Linux |
ss -tuln |
更现代的替代netstat的工具 |
| lsof |
Linux |
lsof -i -P -n \| grep LISTEN |
显示占用端口的进程信息 |
| Get-NetTCPConnection |
Windows |
Get-NTCPConnection -State Listen |
PowerShell查看监听端口 |
| Windows防火墙 |
Windows |
netsh advfirewall show rule |
查看防火墙允许的端口规则 |
二、Linux系统详细操作步骤
1. 使用netstat命令
netstat -tuln
- 操作说明:显示所有监听中的TCP(-t)和UDP(-u)端口,不解析主机名(-n)
- 使用提示:若提示命令不存在,需先安装
net-tools包
2. 使用ss命令(推荐)
ss -tuln
- 操作说明:ss是socket statistics的缩写,性能优于netstat
- 使用提示:输出结果各列含义:
- Local Address:Port - 本地监听地址和端口
- State - 连接状态(如LISTEN)
- Process - 关联进程(需加-p参数)
3. 使用lsof查看进程关联
lsof -i -P -n | grep LISTEN
- 操作说明:显示所有网络连接,筛选出监听状态的端口
- 使用提示:-P禁止端口号转换为服务名,-n禁止IP地址转换为主机名
三、Windows系统操作步骤
1. 使用PowerShell
Get-NetTCPConnection -State Listen
- 操作说明:获取所有处于监听状态的TCP连接
- 使用提示:需以管理员身份运行PowerShell
2. 查看防火墙规则
netsh advfirewall show rule
- 操作说明:显示防火墙允许的端口规则
- 使用提示:可结合
| findstr "端口号"筛选特定端口
四、常见问题解决方案
| 问题现象 |
可能原因 |
解决方案 |
| 命令不存在 |
未安装相关工具包 |
安装对应工具包(如net-tools) |
| 端口显示但无法连接 |
防火墙阻止 |
检查防火墙规则并放行端口 |
| 端口被占用但无进程显示 |
权限不足 |
使用sudo或以管理员身份运行 |
| 外部无法访问已开放端口 |
安全组/网络ACL限制 |
检查云服务商的安全组设置 |
| 端口状态显示TIMEWAIT |
连接未正常释放 |
等待超时或调整内核参数 |
五、高级应用技巧
- 持续监控端口变化:
watch -n 1 'ss -tuln'
- 查看特定端口:
ss -tulnp | grep 80
- 查看端口占用进程详情:
lsof -i :22
- 导出端口列表到文件:
ss -tuln > portlist.txt
通过以上方法,您可以全面掌握VPS上的端口使用情况,及时发现潜在的安全隐患或配置问题。建议定期检查端口状态,确保服务器安全运行。
发表评论