在 Linux 上检查开放端口

从本机套接字到全网 nmap 扫描,一步步找出 Linux 机器或网络中开放的端口。

Linux进程网络进程监控端口netstat 连接状态中风险
在目标机器上运行 `sudo ss -tulpn`,即可列出所有监听端口及其占用进程。

快速开始

无论是排查无响应的服务、做服务器安全审计,还是单纯想知道有哪些端口在监听,检查开放端口都需要两个层面:本机开了哪些服务,以及网络层面实际能访问到哪些。本指南带你完成这两步,全部使用适合 Linux 终端的命令。

用 ss 查看本机监听的端口

先从本机入手:ss 会列出所有处于监听状态的 TCP/UDP 套接字,并显示占用它们的进程,让你立刻知道哪个服务占了哪个端口。加 sudo 运行,否则进程名可能显示不出来。当每一条 LISTEN 记录都能对应到端口和进程名时,这一步就完成了。

查看哪些服务在监听哪些端口、谁在连接——现代版的 netstat。

命令
$ sudo ss -tulpn

弄清端口背后的进程

如果 ss 显示某个端口被一个陌生的进程占用,先拍一份完整的进程快照,查看它的属主、CPU/内存占用和完整命令行。这样在深入排查之前,你就能判断这个监听是否正常。当每个陌生端口都能对应到一个你了解的进程时,这一步就完成了。

Linuxps aux:查看全部进程的完整快照低风险步骤 2可选

使用经典的 ps aux 命令列出系统所有进程,包含所属用户、CPU、内存和命令列。

命令
$ ps aux

(可选)先找出网络中在线的主机

如果你的目标是检查整个网段而不是某一台已知的机器,先做一次 ping 扫描,列出子网里在线的主机。这样可以避免对离线机器浪费完整的端口扫描。拿到一份待扫描的 IP 清单后,这一步就完成了。

只做存活探测、不扫端口的 ping 扫描——网络排查中被遗忘的第一步。

命令
$ sudo nmap -sn 192.168.1.0/24

用 nmap 扫描主机的全部端口

想了解外部视角——即网络中其他机器实际能访问到什么——就对目标主机做一次覆盖全部 65535 个端口的服务版本扫描。这能从另一个角度发现 ss 遗漏的服务,并给出可与已知漏洞对照的版本号。只扫描你有权限管理的机器。得到完整的开放端口和版本列表后,这一步就完成了。

Linux用 nmap 扫描主机开放端口中风险步骤 4

查看自己机器上开放了哪些端口、运行着什么服务版本。

命令
$ nmap -sV -p- 192.168.1.10
!端口扫描可能被视为攻击行为,只扫描你拥有或获得明确授权的主机和网络。

如何确认已解决

你能在主机上列出所有监听套接字及对应进程,并且从另一台机器用 nmap 扫描得到的开放端口和版本信息一致。

来源

  • ss(8) — Arch Manual Pages
    Arch Linux · community · 2026-09-17
    依据: Same options documented for ss, another utility to investigate sockets.
  • ss(8) — Debian bookworm
    Debian Manpages · community · 2026-09-17
    依据: Documents -t/--tcp, -u/--udp, -l/--listening, -p/--processes and -n/--numeric for the socket statistics tool.
  • Ubuntu Manpage: ps - report a snapshot of the current processes
    manpages.ubuntu.com · technical · 2026-09-17
    依据: "ps displays information about a selection of the active processes"; the u option selects the user-oriented format with USER, %CPU, %MEM, and COMMAND headers.
  • ps - report a snapshot of the current processes
    man7.org · technical · 2026-09-17
    依据: The ps page documents the a, u, and x options ("u Display user-oriented format" including USER, %CPU, %MEM, and COMMAND columns) and describes ps as reporting "a snapshot of the current processes".
  • Host Discovery — Nmap Reference Guide
    nmap.org · vendor-doc · 2026-09-17
    依据: Documents -sn (ping scan, no port scan) and default discovery probes per target type.
  • nmap(1) — Debian manpage
    Debian · community · 2026-09-17
    依据: Debian manpage describes nmap's -sV version detection and -p- to scan ports 1-65535
  • nmap(1) — Ubuntu manpage
    Ubuntu · community · 2026-09-17
    依据: Ubuntu manpage documents -sV service/version detection and -p- (all 65535 ports) port specification

最后验证: 2026-09-21

相关指南