游乐游手机版
首页/系统平台/文章详情

Linux查看具体网络连接详细信息的方法与命令

时间:2026-08-24 09:52
你知道吗?在 Linux 网络连接排查中,ss 通常比 netstat 更快、更高效,是查看 socket 统计信息和网络连接状态的常用工具。它可以直接从内核 tcp_diag 模块读取数据,并支持 TCP、UDP、Unix 域套接字等多种协议类型。常见参数也非常实用,例如 -t(查看 TCP)、-

你知道吗?在 Linux 网络连接排查中,ss 通常比 netstat 更快、更高效,是查看 socket 统计信息和网络连接状态的常用工具。它可以直接从内核 tcp_diag 模块读取数据,并支持 TCP、UDP、Unix 域套接字等多种协议类型。常见参数也非常实用,例如 -t(查看 TCP)、-u(查看 UDP)、-l(显示监听状态)、-n(以数字形式展示地址和端口)、-p(显示进程信息)、-a(显示所有状态)。因此,日常查看端口占用和网络连接详情时,更推荐使用 sudo ss -tunlp 来替代 netstat -tunlp

Linux怎么查看具体的网络连接详细报表

netstat -anp 能查看完整连接详情,但必须配合权限使用

普通用户执行 netstat -anp 时,PID/Program name 这一列通常显示为 -,这是因为进程归属信息需要读取 /proc 目录下的相关文件,而这些目录默认仅对 root 用户或同组用户开放读取权限。如果没有足够权限,就无法查看到底是谁占用了某个端口。

  • 必须使用 sudo netstat -anp,才能显示真实的进程名称和 PID 信息
  • -n 可避免 DNS 反向解析拖慢命令输出,同时也能防止因 hosts 或 DNS 异常造成字段显示错位
  • -a 会显示监听中(LISTEN)和已建立(ESTABLISHED)等全部连接状态,缺少 -a 时可能看不到服务监听端口
  • 输出字段中的 Local AddressForeign Address,冒号后面表示端口号;如果是 IPv6 地址,通常会带方括号,需要特别注意区分

ss -tunlp 是更轻量、更快速的替代方案

netstat 在很多较新的 Linux 发行版中已经被标记为“deprecated”,底层依赖相对老旧的 procfs 接口;而 ss 则是直接通过内核 socket API 获取连接数据,因此响应速度更快、资源开销更低,尤其在服务器连接数较多时优势更加明显。

  • ss -tunlp 基本等价于 netstat -tunlp-t 表示 TCP、-u 表示 UDP、-n 表示数字地址、-l 表示监听状态、-p 表示进程信息
  • 通常不需要额外安装,因为 iproute2 软件包默认自带 ss,在 CentOS 8+ 和 Ubuntu 18.04+ 等系统中一般都已预装
  • 输出字段更加紧凑清晰:State 位于最前面,Recv-Q/Send-Q 后面直接跟地址信息,没有多余空行,便于快速阅读
  • 如果出现 Permission denied 提示,同样需要加上 sudo,否则 -p 参数无法显示进程信息

查询特定连接时,不要只用 grep 匹配端口数字

直接使用 grep :8080 查找 8080 端口时,很容易出现误匹配,例如 192.168.1.100:80801 这样的结果也可能被一起筛选出来。更可靠的做法是限定字段边界,或者借助正则表达式进行精确匹配。

  • 查看本地监听 8080 端口:sudo ss -tunlp | grep ':8080b'b 表示单词边界)
  • 查看连接到远端 443 端口的所有网络连接:sudo ss -tunp | awk '$5 ~ /:443$/ {print}'$5 对应 Foreign Address 字段)
  • 查看某个 PID 的全部连接详情:sudo ss -tunp | grep '12345,'(PID 后面带逗号,可避免匹配到其他无关数字)
  • 需要注意的是,ss 输出里的进程信息位于最后一列,格式通常为 users:(("nginx",pid=1234,fd=6)),并不是简单的空格分隔结构

连接状态字段的含义,会直接影响故障排查方向

在 Linux 查看网络连接状态时,像 TIME_WAITCLOSE_WAIT 并不一定代表故障,但如果数量级突然增多,就需要进一步分析原因;而 SYN_RECV 过多可能意味着遭遇 SYN Flood,FIN_WAIT2 大量堆积则往往说明对端没有正常发送 FIN。

  • ESTABLISHED:表示双向通信正常,是最常见的健康连接状态
  • LISTEN:表示服务端正在等待接入连接,对应 -l 参数筛选出的监听端口结果
  • TIME_WAIT:表示主动关闭的一方正在等待 2MSL,短时间内大量出现通常属于正常现象;如果长期维持数万级别,则需要检查应用是否产生了过多短连接
  • CLOSE_WAIT:表示对端已经关闭连接,而本端尚未调用 close(),通常说明程序没有正确处理 EOF,进而造成 socket 泄漏
  • SYN_SENT:表示本端已发送 SYN 并等待 ACK,如果长时间停留在该状态,往往说明网络不通或目标主机没有正常回包
实际排查时,不要一开始就直接执行 netstat -anp 查看全量网络连接输出,而是应先明确自己的排查目标:到底是想找出谁占用了 3306 端口,还是想统计 MySQL 当前连接了多少客户端。目标越明确,命令参数组合就越高效,否则面对满屏滚动的连接信息,反而更容易影响排障效率。
来源:https://www.php.cn/faq/3026357.html
上一篇Windows 10无法访问C盘的原因及解决方法 下一篇Linux查看连接分配失败详细日志的方法与排查步骤
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
VMware安装Ubuntu完整教程:创建虚拟机与启动验证
系统平台 · 2026-09-01

VMware安装Ubuntu完整教程:创建虚拟机与启动验证

本教程详细演示如何在VMware中创建Ubuntu虚拟机,涵盖ISO挂载、硬件配置、安装向导及启动验证。通过清晰的步骤与验证命令,帮助新手快速搭建可用的Linux学习环境。

Win10专业版U盘安装教程:制作启动盘与完整安装步骤
系统平台 · 2026-09-01

Win10专业版U盘安装教程:制作启动盘与完整安装步骤

本文提供Win10专业版U盘安装完整流程:准备8GB以上U盘与官方镜像,制作启动盘并核对盘符;通过F12 F11 Esc等快捷键或BIOS设置U盘为第一启动项;安装时选择专业版并谨慎分区;完成后在“设置—系统—关于”验证版本与激活状态。操作前务必备份数据。

Windows10系统字体太小怎么调大
系统平台 · 2026-08-27

Windows10系统字体太小怎么调大

Windows10系统字体太小怎么调大?只需两步:首先打开设置中的显示选项,将缩放比例调整为125%或150%;随后运行ClearType文本调谐器优化字体清晰度。此方法适用于高分屏及普通屏幕,无需修改注册表即可解决界面拥挤问题。

Win10磁盘占用100%基础排查:从监控到清理的完整步骤
系统平台 · 2026-08-27

Win10磁盘占用100%基础排查:从监控到清理的完整步骤

Windows 10系统出现磁盘占用100%会导致电脑卡顿、程序响应缓慢。本文提供基础排查方案:首先通过任务管理器确认是否为磁盘高负载,随后进入系统存储页面分析C盘占用类别,最后针对性清理临时文件。遵循此流程可有效缓解磁盘压力,避免盲目重装系统。

Windows10系统怎么显示此电脑和控制面板
系统平台 · 2026-08-27

Windows10系统怎么显示此电脑和控制面板

Windows10默认可能不显示桌面图标,导致找不到“此电脑”和“控制面板”。只需进入个性化设置,在“桌面图标设置”中勾选对应选项即可恢复。本文提供详细图文步骤,帮助快速找回系统入口。