Skip to content
📌知识点小结
  • 端口是同一台机器上区分不同服务/程序的“编号窗口”,范围 0–65535。
  • IP 找到机器,端口找到机器上具体哪个服务;二者合起来才能通信。
  • 常见端口:80 HTTP、443 HTTPS、22 SSH、3306 MySQL、6379 Redis、8080 常见 Web。
  • 服务启动后会“监听(listen)”某个端口,等待连接;没被监听的端口连不上。
  • 安全上要识别目标开放了哪些端口、跑什么服务(端口扫描),并注意敏感端口不要暴露公网。
自测一下

0.16 端口:一台机器上的不同“窗口”

第〇篇「零基础预科」免费。这一篇讲为什么一台服务器能同时提供网站、数据库、远程登录等多种服务。

一、为什么需要端口

一台服务器往往同时跑很多服务:网站、数据库、缓存、远程管理……数据都送到同一个 IP,操作系统怎么知道该交给哪个程序?

答案就是端口(Port):给每个服务分配一个 0–65535 的编号。

IP 找到机器,端口找到机器上的具体服务。 一次网络连接由"IP + 端口"唯一确定,类似"找到大楼(IP),再进某个房间号(端口)"。

二、常见端口(建议记住)

端口服务
20/21FTP 文件传输
22SSH 远程登录(Linux)
25SMTP 发邮件
53DNS 域名解析
80HTTP 网站
443HTTPS 加密网站
3306MySQL 数据库
5432PostgreSQL 数据库
6379Redis 缓存
8080 / 8443常见备用 Web 端口
3389RDP 远程桌面(Windows)

你的网站 SSH 端口不是默认 22,而是自定义的 35529——改非默认端口能减少大量自动化扫描和爆破,是常见加固手段。

三、监听与连接

  • 服务启动后,会在某个端口上监听(listen) ,等待客户端来连;
  • 客户端向"IP:端口"发起连接(如浏览器连 gysec.top:443);
  • 若该端口没有程序监听,连接会被拒绝(connection refused);被防火墙挡则超时。

四、查看端口

  • Linux:

    bash
    ss -tlnp            # 列出正在监听的 TCP 端口及对应进程
    sudo lsof -i -P -n  # 查看端口由哪个进程占用
  • Windows PowerShell:

    powershell
    netstat -ano        # 列出连接和监听端口,末列是进程 PID

端口扫描(如 nmap)就是逐个尝试目标各端口,判断哪些开放、背后是什么服务——这是渗透测试信息收集的标准一步。

五、安全视角

  1. 最小开放原则:只暴露必须的端口(如网站 80/443),数据库、缓存、管理端口不要对公网开放
  2. 你的 Umami 后台只绑 127.0.0.1:3000、不监听公网,正是这个原则;
  3. 改默认端口、加防火墙白名单能减少暴露面;
  4. 攻击时先扫描端口判断"目标跑了什么",再选对应漏洞。

六、本篇小结

  • 端口是机器上区分服务的编号(0–65535),IP 找机器、端口找服务
  • 常见:80/443 网站、22 SSH、3306 MySQL、6379 Redis、3389 RDP;自定义 SSH 端口可减扫描。
  • 服务监听端口等待连接,无监听/被防火墙挡则连不上。
  • 安全上:最小开放、敏感端口不对公网,端口扫描是信息收集起点。

下一篇 0.17 讲域名和 DNS——怎么靠名字找到 IP。