如何通过SSH查看VPS端口?
| 命令/方法 |
说明 |
netstat -tuln |
查看所有监听的TCP和UDP端口 |
ss -tuln |
更现代的替代命令,显示监听端口 |
lsof -i -P -n | grep LISTEN |
列出所有监听端口及关联进程 |
nmap -sT -p 1-65535 localhost |
扫描本地所有端口(需安装nmap) |
通过SSH查看VPS端口的完整指南
主要方法概述
以下是查看VPS端口的常用命令及其特点:
| 命令/方法 |
适用场景 |
输出信息详细度 |
netstat -tuln |
传统Linux系统基础检查 |
中等 |
ss -tuln |
快速查看现代系统监听端口 |
中等 |
lsof -i -P -n |
需要查看端口关联进程时 |
高 |
nmap扫描 |
需要全面端口扫描时 |
最高 |
分步操作说明
方法1:使用netstat命令
- 操作说明:通过SSH连接到VPS后,执行
netstat -tuln命令
- 使用提示:
-t 显示TCP端口
-u 显示UDP端口
-l 仅显示监听端口
-n 以数字形式显示地址和端口号
- 示例输出:
$ netstat -tuln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0: LISTEN
tcp6 0 0 :::80 ::: LISTEN
方法2:使用ss命令(推荐)
- 操作说明:
ss是netstat的现代替代品,执行速度更快
- 使用提示:
- 参数与netstat类似:
ss -tuln
- 可添加
-p参数显示进程信息(需root权限)
- 示例输出:
$ ss -tuln
State Recv-Q Send-Q Local Address:Port
LISTEN 0 128 :22
LISTEN 0 128 :80
方法3:使用lsof命令
- 操作说明:适合需要查看端口关联进程的情况
- 使用提示:
- 组合使用:
lsof -i -P -n | grep LISTEN
-i 显示网络连接
-P 禁止端口号转换为服务名
-n 禁止IP地址转换为主机名
- 示例输出:
$ lsof -i -P -n | grep LISTEN
sshd 1234 root 3u IPv4 12345 0t0 TCP :22 (LISTEN)
nginx 5678 nginx 6u IPv4 67890 0t0 TCP :80 (LISTEN)
常见问题解答
| 问题现象 |
可能原因 |
解决方案 |
| 命令未找到 |
系统未安装对应工具 |
安装net-tools(netstat)或lsof |
| 无输出结果 |
无服务监听端口 |
检查服务是否已启动 |
| 部分端口未显示 |
权限不足 |
使用sudo或以root用户执行 |
| 输出信息不完整 |
参数使用错误 |
检查命令参数是否正确 |
| 无法确定端口用途 |
端口号未关联服务名 |
使用-P参数禁止端口转换 |
高级技巧
- 查看特定端口:使用
grep过滤,如ss -tuln | grep 80
- 定时检查:将命令加入crontab定期监控端口变化
- 端口转发检查:使用
netstat -tulnp | grep ESTABLISHED检查已建立的连接
- 防火墙配合:检查防火墙规则
iptables -L -n或firewall-cmd --list-all
通过以上方法,您可以全面掌握VPS上的端口使用情况,及时发现潜在的安全风险或配置问题。建议根据实际需求选择最适合的检查方式,对于生产环境,可以结合多种方法进行交叉验证。
发表评论