怎么检查服务器正在监听(运行)的端口
在CentOS 9云服务器上检查正在运行的端口,可以通过以下步骤实现:
### **方法一:使用 `ss` 命令(推荐)**
`ss`(Socket Statistics)是替代 `netstat` 的现代工具,效率更高且默认预装。
#### 1. 查看所有监听端口
“`bash
sudo ss -tuln
“`
– **参数解释**:
– `-t`:显示TCP端口
– `-u`:显示UDP端口
– `-l`:仅显示监听(LISTEN)状态的端口
– `-n`:以数字形式显示端口(不解析服务名称)
#### 2. 查看端口关联的进程
“`bash
sudo ss -tulnp
“`
– **附加参数**:
– `-p`:显示占用端口的进程信息(需root权限)
—
### **方法二:使用 `netstat` 命令**
若系统未预装 `netstat`,需先安装 `net-tools`:
“`bash
sudo dnf install net-tools -y
“`
#### 查看所有监听端口及进程
“`bash
sudo netstat -tulnp
“`
– **参数解释**:
– `-t`/`-u`:TCP/UDP协议
– `-l`:仅监听端口
– `-n`:不解析服务名
– `-p`:显示进程信息
—
### **方法三:使用 `lsof` 命令**
若未安装 `lsof`,需先安装:
“`bash
sudo dnf install lsof -y
“`
#### 1. 查看所有网络连接
“`bash
sudo lsof -i
“`
#### 2. 检查特定端口(如80端口)
“`bash
sudo lsof -i :80
“`
—
### **方法四:检查防火墙状态**
确认防火墙是否放行端口(CentOS 9默认使用 `firewalld`):
“`bash
sudo firewall-cmd –list-all
“`
– 输出中的 `ports` 字段显示已放行的端口。
—
### **输出示例及解析**
以 `ss -tulnp` 为例:
“`
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:* users:((“sshd”,pid=1234,fd=3))
“`
– **Local Address:Port**:`0.0.0.0:22` 表示所有IP的22端口(SSH)正在监听。
– **Process**:进程名(`sshd`)及PID(`1234`)。
—
### **注意事项**
1. **权限问题**:查看进程信息需 `sudo` 或 root 权限。
2. **云服务器安全组**:若外部无法访问端口,需检查云服务商的安全组配置。
3. **服务状态**:端口监听仅表示服务已启动,不代表服务正常响应(可用 `curl` 或 `telnet` 进一步测试)。
通过以上方法,你可以快速定位服务器上运行的端口及其关联服务。
查看路由表
linux:route -n
windows: route print
主要用于看ipv4地址