VPS如何查看端口号?_全面解析VPS端口查询方法与问题排查

如何在VPS服务器上查看端口号?

查询方法 适用场景 常用命令
netstat命令 查看正在监听的端口 netstat -tuln
ss命令 查看套接字统计信息 ss -tuln
lsof命令 查看端口对应进程 lsof -i :端口号
nmap命令 扫描端口开放状态 nmap 服务器IP
防火墙状态 查看防火墙规则 iptables -L 或 firewall-cmd –list-all

VPS如何查看端口号?全面解析VPS端口查询方法与问题排查

作为VPS服务器管理的基础操作,端口查询是每个服务器管理员都需要掌握的技能。端口是网络通信的入口点,了解端口状态对于服务器安全、服务部署和故障排查都至关重要。

主要查询方法概览

方法类别 具体命令 主要功能 适用系统
基础查询 netstat -tuln 显示监听端口 Linux全系
现代替代 ss -tuln 更快速的端口查询 较新Linux
进程关联 lsof -i 查看端口对应进程 需安装lsof
远程扫描 nmap 从外部检测端口 需安装nmap
防火墙检查 iptables/firewall-cmd 查看防火墙规则 不同发行版

详细操作步骤

方法一:使用netstat命令查询端口

操作说明 netstat是传统的网络统计工具,可以显示网络连接、路由表、接口统计等信息。 使用工具提示
  • 大多数Linux系统预装netstat
  • 如未安装,可通过yum install net-toolsapt install net-tools安装
代码块模拟工具界面
# 查看所有监听中的TCP和UDP端口
$ 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     
tcp        0      0 0.0.0.0:80              0.0.0.0:               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:               LISTEN     
tcp6       0      0 :::22                   :::                    LISTEN     
udp        0      0 0.0.0.0:68              0.0.0.0:                         

参数说明:

-t: 显示TCP端口

-u: 显示UDP端口

-l: 仅显示监听中的端口

-n: 以数字格式显示地址和端口

方法二:使用ss命令(推荐)

操作说明 ss命令是netstat的现代替代品,速度更快,功能更强大。 使用工具提示
  • 较新的Linux发行版默认安装
  • 如果系统没有netstat,ss是更好的选择
代码块模拟工具界面
# 使用ss命令查看监听端口
$ ss -tuln
Netid  State   Recv-Q  Send-Q   Local Address:Port    Peer Address:Port Process  
tcp    LISTEN  0       128            0.0.0.0:22           0.0.0.0:            
tcp    LISTEN  0       128               [::]:22              [::]:            
tcp    LISTEN  0       128            0.0.0.0:80           0.0.0.0:            
tcp    LISTEN  0       128            127.0.0.1:25         0.0.0.0:            

查看特定端口的连接信息

$ ss -tuln | grep :80 tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:

方法三:使用lsof命令查询端口进程

操作说明 lsof可以显示端口对应的进程信息,便于排查问题。 使用工具提示
  • 需要安装lsof工具:yum install lsofapt install lsof
代码块模拟工具界面
# 查看哪些进程在使用80端口
$ lsof -i :80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   12345   root    6u  IPv4  12345      0t0  TCP :http (LISTEN)
nginx   12346   www     6u  IPv4  12346      0t0  TCP :http (LISTEN)

查看所有网络连接

$ lsof -i COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 1234 root 3u IPv4 12345 0t0 TCP :ssh (LISTEN) nginx 12345 root 6u IPv4 12346 0t0 TCP :http (LISTEN)

方法四:使用nmap进行端口扫描

操作说明 nmap是专业的网络扫描工具,可以从外部检测端口开放状态。 使用工具提示
  • 需要安装nmap:yum install nmapapt install nmap
  • 可以扫描本机或其他服务器的端口
代码块模拟工具界面
# 扫描本机端口
$ nmap localhost
Starting Nmap 7.80 ( https://nmap.org ) at 2025-11-01 04:34 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00012s latency).
Not shown: 997 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
25/tcp open  smtp
Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds

方法五:检查防火墙状态

操作说明 防火墙可能阻止端口访问,需要检查防火墙规则。 使用工具提示
  • iptables:传统Linux防火墙
  • firewalld:较新系统的防火墙服务
代码块模拟工具界面
# 检查iptables规则
$ iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22

检查firewalld规则(CentOS/RHEL 7+)

$ firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ssh dhcpv6-client http ports: 80/tcp 443/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

常见问题与解决方案

问题 原因 解决方案
端口显示为LISTEN但无法访问 防火墙阻止或绑定地址错误 检查防火墙规则,确认服务绑定到0.0.0.0而非127.0.0.1
命令未找到(command not found) 工具未安装 使用对应包管理器安装net-tools、lsof或nmap
端口状态为TIMEWAIT 连接未正常关闭 等待系统自动清理或调整TCP参数
服务重启后端口仍被占用 进程未完全终止 使用kill -9 PID强制终止进程或重启服务器
外部无法访问特定端口 云服务商安全组限制 在云服务商控制台添加安全组规则允许该端口

通过掌握这些端口查询方法,您将能够有效地管理和维护VPS服务器,确保网络服务的正常运行和安全性。每种方法都有其适用场景,建议根据具体需求选择合适的工具进行端口状态检查。

发表评论

评论列表