linux怎么看网络连接数?,linux查看网络连接数命令

查看Linux服务器网络连接数,最简洁的做法是执行ss -s查看整体统计,或者用ss -tan配合文本处理命令统计各类状态的数量。 这篇文章从具体命令讲起,覆盖实时监控和异常排查,帮你快速掌握连接数分析的方法。

Linux服务器怎么看网络连接数:核心命令

Linux里查看网络连接数,常用工具是ss和netstat,两者输出类似,但ss的性能更好,尤其在连接数比较多的时候,所以我建议优先熟悉ss,即使不装额外软件,系统自带的ss已经足够撑起日常排查。

netstat命令详解,查看本机网络连接IP端口协议,网络测试教程 #知识分享官#
加载中
netstat命令详解,查看本机网络连接IP端口协议,网络测试教程 #知识分享官#

直接统计当前连接总数

一条命令看全局:

ss -s

这会输出TCP、UDP、RAW等协议的汇总信息,TCP连接数”一栏会按established、time_wait等状态拆分,适合快速判断系统当前负载。ss -s给的是一个总量概览,不会展示具体连接条目。

如果想看更详细的每一条连接,用:

ss -tan

-t表示TCP,-a表示所有状态,-n表示用数字显示IP和端口,要数出连接总数,可以管道给wc -l:

ss -tan | wc -l

注意这个数字包含表头一行,想更精确,可以这样:

ss -tan | tail -n +2 | wc -l

tail -n +2跳过第一行表头,这个命令得到的数值,就是当前TCP连接的实际条数。

按状态分类统计连接数

连接数不是只有一个总数,按状态拆开看才有意义,常见的TCP状态包括ESTABLISHED、TIME_WAIT、CLOSE_WAIT、SYN_SENT等,执行:

ss -tan | tail -n +2 | awk '{print $1}' | sort | uniq -c

输出会像这样:

    5 CLOSE_WAIT
  120 ESTABLISHED
   38 TIME_WAIT

awk '{print $1}'取第一列,也就是状态名称,然后sort | uniq -c完成计数,这个方法适合快速定位状态异常的连接,比如ESTABLISHED数量远低于SYN_RECV,说明可能有半连接攻击。

如果只需要某个状态的数量,比如ESTABLISHED:

ss -tan | grep ESTABLISHED | wc -l

TIME_WAIT同理:

ss -tan | grep TIME_WAIT | wc -l

netstat的写法也类似:

netstat -ant | tail -n +2 | awk '{print $1}' | sort | uniq -c

查看进程对应的连接数

连接数异常时,需要知道是哪个进程在占用连接,加上-p参数可以显示进程信息:

linux怎么看网络连接数?,linux查看网络连接数命令

ss -tanp | grep CLOSE_WAIT | head -10

输出末尾会带users:(("nginx",pid=1234,fd=35)),拿着PID就能对齐日志,如果想统计每个进程的连接数,用下面的命令逐步处理:

ss -tanp | awk '{print $6}' | grep 'pid=' | sort | uniq -c | sort -nr

这条命令会列出占连接数最多的几个PID,不过不同系统上字段位置略有差异,建议先看原始输出再调整参数。

Linux服务器查看网络连接数用什么命令最合适

这个问题没有标准答案,要根据场景选,老系统可能没有ss,这时候只能退回netstat,再就是有些同学习惯从/proc/net/tcp读取,然后自己写脚本,下面先对比一下两种主流命令。

ss与netstat命令对比

对比项 ss netstat
所属工具包 iproute2 net-tools
性能 快,连接数大时优势明显 慢,连接数多时可能有延迟
输出格式 字段紧凑,适合脚本处理 传统格式,容易阅读
查看进程 需要-p参数 也是-p参数
兼容性 现代Linux默认自带 部分精简系统需要额外安装

按场景选择连接数监控工具

  • 快速查看整体连接数量级,用ss -s。
  • 需要逐条检查远端IP和端口,用ss -tan配合awk过滤。
  • 服务器环境较老,或者你习惯使用netstat,影响不大,结果一样可信。
  • 需要监控某个进程的连接数,比如Nginx或Java进程,用ss -tanp加grep定位PID。
  • 写脚本采集数据,建议用ss,因为输出稳定,执行速度更快。

怎么确认命令是否可用

直接在终端输入ss或netstat,如果提示“command not found”,再用包管理器安装。ss属于iproute2,一般系统自带;netstat属于net-tools,有些环境需要额外安装才提供,你可以在部署监控脚本之前先跑一下command -v ss确认路径。

实时监控Linux服务器网络连接数变化

单次查看只是静态快照,定位问题往往需要观察变化趋势,一个简单办法是用watch命令定期刷新。

watch -n 2 'ss -s'

每2秒刷新一次连接数统计,这个命令能直观看到established和time_wait的波动。

如果想紧盯某个状态值,可以这样:

linux怎么看网络连接数?,linux查看网络连接数命令

watch -n 2 "ss -tan | grep TIME_WAIT | wc -l"

注意外层用双引号,保证管道在watch里正常执行。

用sar查看历史连接数

系统装了sysstat的话,可以用sar回看历史网络统计:

sar -n TCP,ETCP 1 3

这个命令每秒取样一次,共取3次,输出TCP连接、主动连接、被动连接等数据。sar的好处是能看到一段时间内的变化,配合watch实时查看,排查思路更完整。

监控连接数使用的脚本思路

实际环境里,单靠肉眼看命令输出不够,可以写一个简单脚本,每5秒记录一次ESTABLISHED数量和当前时间,输出到文件,脚本核心逻辑就是:

while true; do
  echo "$(date +%H:%M:%S) $(ss -tan | grep ESTABLISHED | wc -l)"
  sleep 5
done

这个脚本跑几分钟后,通过sort或绘图工具就能看出连接数爬升的曲线,你需要判断的是连接数是线性上涨还是到达峰值后回落,这对应完全不同的故障类型。

Linux服务器查看网络连接数超时怎么办

当TIME_WAIT或SYN_RECV连接堆到很多时,会带来端口占用、响应变慢的问题,排查思路需要从状态本身出发。

TIME_WAIT连接过多排查

TIME_WAIT是主动关闭连接的一方处理完数据后等待的状态,在短连接高并发场景下,大量TIME_WAIT属于正常现象,业内专家指出,真正需要关心的是TIME_WAIT占用大量本地端口,导致新连接无法建立。

检查方法:

ss -tan state time-wait | wc -l

如果几千个连接都堆积在这一状态,可以临时调整内核参数,比如缩小net.ipv4.tcp_fin_timeout,但不要轻易开启tcp_tw_reuse,因为不同内核版本行为有差异,这个调整需要结合业务类型评估,先确认业务是否大量使用短连接。

CLOSE_WAIT连接过多排查

CLOSE_WAIT意味着服务器被动关闭连接,但应用程序迟迟没有调用close()关闭socket,出现大量CLOSE_WAIT时,更多是应用层代码问题,而不是系统参数问题。

查看进程:

ss -tanp | grep CLOSE_WAIT | head -10

输出中会带PID和进程名,拿着PID去查应用日志,重点看网络请求处理完毕后是否释放连接,行业共识认为,CLOSE_WAIT堆积成百上千,多半是连接池泄漏或超时设置不合理。

SYN_RECV连接过多排查

SYN_RECV状态表示服务器已经收到客户端SYN请求,正在等待三次握手完成,如果这个状态的数量很大,可能是客户端发起连接但迟迟没有响应,也可能是外部访问者在试探端口,观察命令:

linux怎么看网络连接数?,linux查看网络连接数命令

ss -tan state syn-recv | wc -l

配合ss -tan | grep SYN_RECV查看被触发连接的源IP,能判断是正常业务短时间集中请求,还是有针对性的扫描,如果来源比较分散,大概率是网络波动;来源集中在少数IP,就需要考虑匹配连接层限制。

端口范围不足的连接数隐患

连接数高本身不是问题,真正受影响的是本地端口耗尽,假设服务器IP是2.3.4,对端是6.7.8,所有TCP连接都会占用本地的临时端口,查看当前可用端口范围:

cat /proc/sys/net/ipv4/ip_local_port_range

默认范围通常是32768 60999,大约2.8万个端口,当连接数接近这个值时,新的连接无法建立,如果业务需要更大的连接规模,可以适当扩大端口范围,比如改为10240 65535,但依然存在上限,此外还需要同步调整文件句柄限制,否则连接数还没到端口上限,进程先报Too many open files。

关于Linux服务器查看网络连接数的常见问题Q&A

为什么用ss查看连接数,结果和netstat对不上?

因为两个命令读取的数据来源稍有不同,ss直接解析内核socket信息,netstat则基于/proc/net/tcp,多数情况下数值基本一致,差异较大时检查是否用了相同参数,比如没有加-n时端口可能解析成服务名,导致行列错位,持久差异等于统计口径不同,建议统一用ss。

连接数统计里包含UDP吗?

只看TCP连接数时,用ss -tan或netstat -ant,其中的-t就限制了TCP,如果只写ss -a或netstat -a,会把UDP、UNIX socket也统计进去,数字会大很多,UDP没有连接状态,只有ESTABLISHED概念,需要单独用ss -uan查看。

怎么看某个IP建立的连接数?

用grep加上IP地址过滤即可,比如查看与0.0.5的所有连接数:

ss -tan | grep 10.0.0.5 | wc -l

想按照对端IP聚合排序,用awk提取远端IP,再统计:

ss -tan | tail -n +2 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr

输出中第一列是连接数,第二列是远端IP,这个命令能一次看到连接数最多的几个远程地址,方便排查是否存在异常访问。

连接数管理是Linux服务器运维的基础功夫,先把ss -s和按状态统计这两条命令用熟,再进阶到实时监控和参数调优,遇到异常时,先分状态,再找进程,最后调整内核,按这个路数排查就不会乱。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/linux%e6%80%8e%e4%b9%88%e7%9c%8b%e7%bd%91%e7%bb%9c%e8%bf%9e%e6%8e%a5%e6%95%b0%ef%bc%9flinux%e6%9f%a5%e7%9c%8b%e7%bd%91%e7%bb%9c%e8%bf%9e%e6%8e%a5%e6%95%b0%e5%91%bd%e4%bb%a4/

赞 (0)
window8服务器登陆密码忘了怎么修改,有哪些快速方法?
上一篇 2026年10月5日 14:09
dota2自走棋怎么设置国内服务器,哪里有教程?
下一篇 2026年10月5日 14:11

相关推荐

  • 如何从服务器端获取JSON数据库,JSON数据接口如何调用?

    从服务器端获取json数据库,核心只有一句话:向服务器发起HTTP请求,拿到JSON格式的响应体,再按需解析使用,这话听起来简单,实际落地时牵扯到接口鉴权、编码处理、跨域限制、数据缓存等多个环节,下面我按真实开发场景,把整条链路拆开讲清楚,服务器端json数据库与普通json文件的区别很多人第一次接触“json……

    2026年9月28日
    000
  • AI智能质检是什么?AI智能质检系统哪家好

    AI智能质检通过语音转文字与自然语言处理技术,实现了对全量客服录音的秒级自动化分析,彻底解决了传统人工抽检覆盖率低、滞后性强且主观性大的痛点,是企业降本增效的必经之路,传统的人工质检模式就像是在大海里捞针,不仅效率低下,还容易漏掉关键风险点,随着企业规模的扩大,这种“盲人摸象”式的管理方式已经无法适应现代商业节……

    程序编程 2026年6月6日
    3000
  • 我的世界服务器op怎么快速刷点卷,有没有隐藏指令?

    别急着敲命令,先把“刷”字的边界划清楚《我的世界》服务器里OP并不能真正“刷点券”,OP能做的只有两件事:用后台命令给指定玩家发放点券,或者在插件配置里调整点券获取速率与活动奖励;任何绕过正常经济系统的复制、重复领取、卡漏洞行为,进后台日志一查就露馅,轻则清空点券,重则撤权限、封账号,很多人搜这个词,其实是想问……

    程序编程 2026年10月22日
    100
  • Excel数据练习表怎么做?如何快速提升Excel数据处理能力

    Excel数据练习表是提升数据处理效率的最佳工具,通过模拟真实业务场景进行高频实操,能显著缩短从新手到精通的学习周期,在数字化办公环境中,Excel早已超越简单的电子表格范畴,成为职场人必备的核心技能,许多初学者往往陷入“看教程懂原理,一上手就报错”的困境,根本原因在于缺乏系统性的数据输入与处理训练,构建一套结……

    2026年7月8日
    9900
  • CSGO组队不同服务器咋办,CSGO怎么和朋友一起组队?

    CSGO组队不在同一服务器,核心解法就一句话:让所有人统一区服、统一加速器节点、通过游戏内好友邀请进同一个房间;官方匹配系统自带“组队”功能但只对同一分区有效,跨区账号必须先转服或换平台,csgo跨区组队匹配不到人?先厘清这3个底层原因很多时候你们打开游戏,明明都点了“开始匹配”,结果一边进了国服,另一边进了国……

    2026年10月4日
    000
  • 北京网站流量突增打不开怎么办,租大带宽能解决吗?

    北京网站流量突增打不开,先别急着换服务器,多数情况下是带宽跑满或连接数打满,租用北京本地BGP独享大带宽,把出口提到100Mbps以上,再配合CDN和Nginx限流,通常能在较短时间内恢复访问,北京网站流量突增打不开怎么办?先做这轮排查流量突增时,页面转圈、502、504、连接超时,表面看是网站打不开,底层往往……

    2026年10月15日
    000
  • asp中上传文件时遇到的问题有哪些?如何解决常见上传难题?

    在ASP(Active Server Pages)经典环境中实现文件上传功能,最核心、可靠且推荐的方法是使用 ADODB.Stream 对象来处理接收到的二进制表单数据,并结合 Request.TotalBytes 和 Request.BinaryRead 方法精确解析上传的文件内容和表单字段,这避免了依赖第三……

    2026年2月5日
    12830
  • 泰拉瑞亚如何添加服务器IP和密码?,手机端联机设置方法

    想在泰拉瑞亚里和朋友联机,添加服务器IP和密码其实很简单:打开游戏主菜单,点击“多人游戏”并选择“加入”,输入对方给你的IP地址,如果服务器设了密码,系统会自动弹出输入框,填进去就能进,整个过程不到一分钟,真正麻烦的往往是IP填错、版本不一致或者端口没写对,这篇文章就把从入门到排错的所有细节一次讲清楚,泰拉瑞亚……

    2026年10月8日
    200
  • 我的世界pe版饥饿游戏服务器如何注册,需要准备什么条件?

    注册我的世界PE版饥饿游戏服务器,核心就两步:先确认你玩的是网易版还是国际版,再用对应账号进入服务器,多数公共服务器只需在聊天框输入 /register 指令即可完成游戏内注册,注册本身不收费用,我的世界手机版饥饿游戏服务器怎么进?先分清客户端类型手机端常见两种客户端:网易代理的《我的世界》中国版,以及国际版基……

    2026年9月12日
    200
  • ps42k19连不上服务器怎么解决,是什么原因

    PS42K19连不上服务器,直接原因是网络通信链路中断,通常由本地网络故障、DNS解析错误或服务器端临时维护引发,按以下步骤先后排查,多数情况能在5分钟内解决,PS42K19服务器连接超时怎么解决这是被问得最多的场景,连接超时意味着设备已发出请求,但服务器在规定时间内未响应,根源不一定在设备本身,而是数据传输路……

    2026年8月6日
    600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注