ubnetu 服务器版本常用端口和开放的端口对应的应用

发布于:2025-04-12 ⋅ 阅读:(30) ⋅ 点赞:(0)

1. 使用 netstat 查看端口与进程

netstat 是查看网络连接和监听端口的常用工具。通过以下命令可以列出所有开放的TCP/UDP端口及其关联的进程:

sudo netstat -tulnp

参数解析:

-t:显示TCP端口。

-u:显示UDP端口。

-l:仅显示监听状态的端口。

-n:以数字形式显示地址和端口(不解析域名)。

-p:显示占用端口的进程名称和PID。

输出示例:

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

这里可以看到端口22由sshd进程监听,对应SSH服务14。

2. 通过 lsof 命令定位应用

lsof 用于列出系统打开的文件(包括网络端口)及其关联进程:

sudo lsof -i :端口号

示例:

sudo lsof -i :80

输出会显示占用端口80的进程(如Apache或Nginx)16。

3. 使用 nmap 扫描端口及服务

nmap 是一款网络扫描工具,可以识别端口对应的服务名称:

sudo nmap -sV localhost

参数解析:

-sV:探测端口上的服务版本。

输出示例:

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1
80/tcp open  http    Apache httpd 2.4.41

此命令会显示开放的端口、服务名称及版本信息110。

4. 检查防火墙规则(ufw)

Ubuntu自带的防火墙工具ufw可以查看已开放的端口:

sudo ufw status verbose

输出示例:

Status: active
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere

此命令列出防火墙允许的端口,但需结合其他工具(如netstat)确认实际运行的应用程序610。

5. 结合 ss 命令(替代 netstat)

对于较新的Ubuntu版本(如25.04),ss命令可能更高效:

sudo ss -tulnp

输出格式与netstat类似,显示端口、状态及进程信息5。

常见端口与应用对应表
端口号 协议 常见应用 说明

22	TCP	SSH	远程登录服务
80	TCP	HTTP (Apache/Nginx)	Web服务
443	TCP	HTTPS	加密的Web服务
3306	TCP	MySQL	数据库服务
5432	TCP	PostgreSQL	数据库服务

注意事项

权限要求:部分命令(如netstat -p、lsof)需要sudo权限以查看所有进程信息。

防火墙干扰:即使端口被应用程序监听,若防火墙未放行,外部仍无法访问。需通过ufw allow 端口开放610。

服务未运行:防火墙开放端口后,若没有程序监听该端口,连接仍会失败。需通过netstat或ss确认监听状态14。