如何通过SSH查看VPS端口?_详细操作指南

如何通过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命令

  1. 操作说明:通过SSH连接到VPS后,执行netstat -tuln命令
  2. 使用提示
  • -t 显示TCP端口
  • -u 显示UDP端口
  • -l 仅显示监听端口
  • -n 以数字形式显示地址和端口号
  1. 示例输出
$ 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命令(推荐)

  1. 操作说明ss是netstat的现代替代品,执行速度更快
  2. 使用提示
  • 参数与netstat类似:ss -tuln
  • 可添加-p参数显示进程信息(需root权限)
  1. 示例输出
$ ss -tuln
State      Recv-Q Send-Q Local Address:Port
LISTEN     0      128                    :22
LISTEN     0      128                    :80

方法3:使用lsof命令

  1. 操作说明:适合需要查看端口关联进程的情况
  2. 使用提示
  • 组合使用:lsof -i -P -n | grep LISTEN
  • -i 显示网络连接
  • -P 禁止端口号转换为服务名
  • -n 禁止IP地址转换为主机名
  1. 示例输出
$ 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参数禁止端口转换

高级技巧

  1. 查看特定端口:使用grep过滤,如ss -tuln | grep 80
  2. 定时检查:将命令加入crontab定期监控端口变化
  3. 端口转发检查:使用netstat -tulnp | grep ESTABLISHED检查已建立的连接
  4. 防火墙配合:检查防火墙规则iptables -L -nfirewall-cmd --list-all
通过以上方法,您可以全面掌握VPS上的端口使用情况,及时发现潜在的安全风险或配置问题。建议根据实际需求选择最适合的检查方式,对于生产环境,可以结合多种方法进行交叉验证。

发表评论

评论列表