如何查看VPS上正在监听的端口?
| 工具/命令 |
功能描述 |
适用系统 |
| netstat |
显示网络连接、路由表、接口统计等信息 |
Linux/Windows |
| ss |
比netstat更快速、更详细的socket统计工具 |
Linux |
| lsof |
列出打开文件和网络连接 |
Linux/macOS |
| nmap |
网络探测和安全审核工具 |
跨平台 |
| telnet |
测试端口连通性 |
跨平台 |
VPS端口监听状态如何查看?五种方法快速排查网络连接问题
在VPS管理和维护过程中,查看端口监听状态是一项基础但至关重要的技能。无论是排查服务故障、配置防火墙规则,还是进行安全审计,都需要准确了解当前系统的端口使用情况。
主要查看方法清单
| 序号 |
方法名称 |
主要特点 |
适用场景 |
| 1 |
netstat命令 |
功能全面,兼容性好 |
常规检查、基础排查 |
| 2 |
ss命令 |
速度快,信息详细 |
高性能需求、实时监控 |
| 3 |
lsof命令 |
关联进程信息 |
深度分析、进程关联 |
| 4 |
nmap扫描 |
外部视角检测 |
安全审计、远程检测 |
| 5 |
telnet测试 |
简单连通性测试 |
快速验证、端口测试 |
详细操作步骤
方法一:使用netstat命令查看
操作说明:netstat是传统的网络统计工具,可以显示网络连接、路由表、接口统计等信息。
使用工具提示:适用于大多数Linux发行版,部分系统可能需要安装net-tools包。
# 查看所有监听端口
netstat -tulpn
仅查看TCP监听端口
netstat -tln
仅查看UDP监听端口
netstat -uln
显示数字格式的地址和端口号
netstat -tulpn | grep LISTEN
输出示例:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0: LISTEN 1234/sshd
tcp 0 0 0.0.0.0:80 0.0.0.0: LISTEN 5678/nginx
方法二:使用ss命令查看
操作说明:ss命令是netstat的现代替代品,速度更快,信息更详细。
使用工具提示:大多数现代Linux发行版已预装,如果缺失可通过包管理器安装iproute2包。
# 查看所有监听端口
ss -tulpn
查看TCP监听端口
ss -tln
查看UDP监听端口
ss -uln
显示进程信息
ss -tulpn | grep LISTEN
输出示例:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 :22 :* users:(("sshd",pid=1234,fd=3))
LISTEN 0 128 :80 :* users:(("nginx",pid=5678,fd=6))
方法三:使用lsof命令查看
操作说明:lsof可以列出系统打开的文件,包括网络连接,能够显示端口与进程的关联关系。
使用工具提示:可能需要安装lsof包,使用sudo权限获取完整信息。
# 查看所有网络监听
sudo lsof -i -P | grep LISTEN
查看特定端口
sudo lsof -i :80
查看TCP监听
sudo lsof -i TCP -s TCP:LISTEN
输出示例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1234 root 3u IPv4 12345 0t0 TCP :22 (LISTEN)
nginx 5678 root 6u IPv4 23456 0t0 TCP :80 (LISTEN)
方法四:使用nmap进行扫描
操作说明:nmap从外部视角扫描端口,可以验证端口是否真正对外开放。
使用工具提示:需要安装nmap包,扫描本机使用localhost或127.0.0.1。
# 扫描本地所有端口
nmap localhost
扫描特定端口范围
nmap -p 1-1000 localhost
快速扫描常用端口
nmap -F localhost
输出示例:
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
方法五:使用telnet测试端口
操作说明:telnet可以快速测试端口的连通性,适合验证服务是否正常响应。
使用工具提示:可能需要安装telnet客户端,测试本机或远程端口。
# 测试本地端口
telnet localhost 80
测试远程服务器端口
telnet example.com 443
常见问题及解决方案
| 问题 |
原因 |
解决方案 |
| 端口显示LISTEN但外部无法访问 |
防火墙阻挡或服务绑定到127.0.0.1 |
检查防火墙设置,确认服务绑定到0.0.0.0而非127.0.0.1 |
| 服务启动但端口不监听 |
配置错误或端口冲突 |
检查服务配置文件,使用ss -tulpn确认端口占用情况 |
| 端口状态显示TIMEWAIT |
连接未正常关闭 |
等待系统自动回收,或调整TCP参数优化连接回收时间 |
| 无法获取进程PID信息 |
权限不足或工具限制 |
使用sudo权限执行命令,或使用lsof -i :端口号获取详细信息 |
| 命令未找到 |
工具未安装 |
根据系统使用相应包管理器安装:Ubuntu/Debian用apt,CentOS/RHEL用yum |
通过掌握这些端口查看方法,您将能够快速定位VPS上的网络服务状态,有效解决各种网络连接问题。每种方法都有其适用场景,建议根据实际需求灵活选择使用。
发表评论