ss 命令入门:套接字统计与常用排查案例

ss(socket statistics)是 Linux 上查看套接字状态的常用工具,属于 iproute2 套件(与 ip 命令同源)。 在多数发行版里,它已经是替代 netstat 的推荐方式:直接从内核取信息,列表大时通常更快,参数表达也更贴近现代 TCP 状态机。 日常排障里,ss 最常用来回答三件事:谁在监听、连向哪里、当前连接处于什么状态。 一、ss 能做什么 列出 TCP/UDP/UNIX 等套接字的监听与已建立连接 按端口、地址、状态过滤输出 结合 -p 查看关联进程(需足够权限) 配合脚本做轻量监控或巡检 二、常见参数速查 选项 含义 -t 仅 TCP -u 仅 UDP -l 仅监听(listening) -a 所有状态(含 ESTAB、TIME-WAIT 等) -n 数字形式显示地址与端口(不做 DNS 反解) -p 显示进程信息(PID/程序名) -4 / -6 仅 IPv4 / 仅 IPv6 -s 打印套接字统计摘要 状态过滤可用 state 关键字,例如:ss state established。 三、常用案例 1)一眼看完本机监听端口(最常用) ss -tlnp -t TCP,-l 监听,-n 避免反查主机名拖慢输出,-p 显示进程(无 root 时可能看不到其他用户的进程)。 ...

2026-04-08

在 Windows 11 中查看端口占用的几种方法

在日常开发或运维中,端口被占用是一个非常常见但又让人头疼的问题:服务启动不了、前端起不来、本地调试端口冲突等,大多都与端口占用有关。 下面整理几种在 Windows 11 中查看端口占用的常用方法,既包含命令行,也包含图形化工具,可根据实际使用习惯选择合适的方式。 1. 使用命令行查看端口(推荐) 命令行是相对快速且灵活的方式,适合精准排查某个端口是否被占用,以及对应的进程信息。 1.1 查看所有端口占用情况 打开 命令提示符(CMD) 或 Windows 终端,输入: netstat -ano 参数说明: -a:显示所有连接和监听端口。 -n:以数字形式显示地址和端口号(不进行域名解析,速度更快)。 -o:显示占用该端口的进程 ID(PID)。 执行后,输出中会出现类似如下的列表: 本地地址(Local Address) 外部地址(Foreign Address) 状态(State) PID(最后一列) 1.2 查找特定端口(以 8080 为例) 在只关心某个端口(比如 8080)时,可以结合 findstr 进行筛选: netstat -ano | findstr :8080 执行后,如果该端口被占用,你会看到匹配的行,最后一列的数字就是占用该端口的 PID。 1.3 根据 PID 查找对应进程 拿到 PID 之后,可以反查具体是哪个程序占用了端口。在命令行中输入: tasklist | findstr "PID号" 例如 PID 为 1234 时,可以这样查询: tasklist | findstr "1234" 返回结果中会显示对应的可执行程序名称,比如 node.exe、java.exe 等。根据实际需求,可以结束相关进程,或在对应程序中调整端口配置。 2. 使用资源监视器(图形化界面) 在不熟悉命令行,或者需要一次性 更直观地查看所有端口状态 时,可以使用系统内置的 资源监视器。 ...

2023-03-16