怎么在Linux上查看网络连接服务器,常用命令有哪些?

在Linux上查看网络连接服务器,核心是掌握ss、netstat、lsof这三个命令,分别用于查看实时连接、监听端口和进程占用情况。

很多朋友第一次接触Linux服务器管理,遇到网络问题往往一头雾水,服务器连不上、端口被占用、连接数过多,这些场景都绕不开一个基本功:查看网络连接,这篇文章就按照实际排查顺序,把最常用、最有效的查看方法讲透。

5分钟学会查看Linux端口占用情况
加载中
5分钟学会查看Linux端口占用情况

先分清需求:查连接、查端口还是查进程

查看网络连接不是只有一条命令,得先想清楚你到底要看什么。

  • 想确认服务器对外建立了哪些连接,看连接列表
  • 想知道某个端口是否被监听,看监听状态
  • 想定位是哪个程序占用了端口,需要进程与端口的对应关系
  • 想评估服务器压力,看连接总数和状态分布

不同的需求侧重点不同,用的命令参数也不同,下面逐个场景拆解。

linux查看网络连接命令:ss与netstat的核心用法

在Linux上,查看网络连接的命令主要有两个:ss和netstat。ss是iproute2包提供的工具,性能远优于netstat,尤其在连接数较多的服务器上,ss几乎不会卡顿,而netstat可能会阻塞,行业共识认为ss正在逐步取代netstat,多数现代发行版默认预装了ss,而netstat需要额外安装net-tools包。

对比项 ss netstat
所属包 iproute2(默认安装) net-tools(需安装)
连接数大时性能 快 较慢
显示进程名(需权限) 支持 支持
常用场景 日常排查、脚本监控 老系统兼容

ss命令实战:查看所有连接

ss -tunap

这条命令是最常用的组合,拆开看含义:

  • -t 显示TCP连接
  • -u 显示UDP连接
  • -n 不做域名解析,直接显示IP和端口号,速度更快
  • -a 显示所有连接(包括监听和已建立)
  • -p 显示进程信息(需要root权限)

输出的每一行包含协议、收发队列、本地地址、远端地址、状态、进程名,比如看到ESTAB状态的行,说明这个连接已经正常建立。

netstat命令实战:老牌工具同样可靠

netstat -tunlp

参数含义类似:-l只显示监听状态的端口,-p显示进程PID和名称,这条命令常用于确认某个端口是否在监听,比如想确认Nginx是否跑在80端口,执行后看到0.0.0:80且有nginx进程名,就说明服务正常。

指定端口的查看技巧:linux 查看端口占用情况

排查端口冲突时,需要精确查看某个端口被谁占用,这里有两种高效方式。

ss配合端口过滤

ss -lntp | grep :8080

先列出所有TCP监听端口,再通过grep筛选出8080端口,输出会直接显示占用8080端口的进程名和PID。

lsof精准定位

lsof -i:8080

lsof是专门用于查看文件占用情况的工具,网络连接也算是文件描述符,执行后显示的信息更丰富,包括进程PID、用户、文件描述符类型等,如果系统提示没有lsof,用yum install lsof或apt install lsof安装。

进阶技巧:同时查看多个端口,用逗号分隔:

lsof -i:80,443

连接数统计方法:linux查询服务器连接数的实用思路

服务器被攻击、业务流量异常上涨,往往表现为连接数激增,这时候统计连接数是快速判断异常的第一步。

统计总连接数

ss -tan | wc -l

wc -l统计行数,注意第一行是表头,实际连接数要减1,想更精确就去掉表头:

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

按状态分类统计

TCP连接有多种状态,比如ESTAB(已建立)、TIME_WAIT(等待关闭)、SYN_SENT(正在发起连接),分类统计能帮你看清连接的健康程度:

ss -tan | awk 'NR>1 {print $1}' | sort | uniq -c

输出类似这样的结果:

  15 ESTAB
   3 LISTEN
   8 TIME_WAIT

TIME_WAIT多不代表有问题,TCP协议主动关闭连接的一方会进入这个状态并等待2分钟,但如果SYN_SENT数量很多,说明服务器向外发起连接失败,可能是网络不通或对方拒绝。

找出占用连接数最多的远程IP

ss -tan | awk 'NR>1 {print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -10

这条命令把每一行的远端地址提取出来,按出现次数排序,直接列出连接数排名前10的IP,如果发现某个IP的连接数异常大,就要警觉了要么是爬虫,要么是攻击流量。

实时刷新连接状态

watch -n 2 'ss -s'

watch每2秒刷新一次命令输出,ss -s显示汇总信息,这在调试程序时特别好用,能直观看到连接数是否在增长、内存和TCP统计的变化。

从TCP状态判断网络问题:linux网络连接状态怎么看tcp

仅仅看到连接数还不够,判断网络是否健康要看状态分布,业内专家指出,TCP状态机是网络排查中最值得关注的部分,状态能告诉你连接卡在哪一步。

以下是在ss输出中常见的几个状态及含义:

  • LISTEN:端口在监听,等待外部连接
  • ESTAB:连接正常建立,数据可以传输
  • TIME_WAIT:连接已关闭,本地等待一段时间确保数据传完
  • CLOSE_WAIT:对方已关闭连接,本地程序还没调用close关闭
  • SYN_SENT:本地发起了连接请求,但没收到回应
  • SYN_RECV:收到了连接请求并回复了,但没确认完成

CLOSE_WAIT多,通常说明程序代码有bug,没有正确关闭socket,比如Java服务处理完请求没释放连接,就会出现大量CLOSE_WAIT,严重时耗尽文件描述符导致服务不可用。

SYN_SENT多,大概率是网络不通或者防火墙拦截了出方向的包,可以用ping或者telnet再验证一下。

排查时,建议把状态分布和连接总数结合着看,比如看TCP总览:

cat /proc/net/sockstat

这个文件记录了系统级TCP、UDP的socket统计信息,顶部的TCP: inuse就是当前已分配的TCP socket数,可以和ss的输出交叉验证。

综合排查:一次完整的linux服务器网络连接检查流程

把以上方法串起来,一个标准的网络连接排查流程是这样的:

  1. 先用ss -s看整体概况,判断连接量是否正常
  2. 再用ss -tan | awk ...按状态分类,看异常状态是否集中
  3. 然后ss -lntp确认服务端口是否正常监听
  4. 接着lsof -i:端口号定位具体进程
  5. 最后用ss -tan找出大量连接的来源IP,做进一步判断

拿一个实际场景举例:业务反馈web服务访问很慢,执行ss -tan | awk 'NR>1 {print $1}' | sort | uniq -c,如果发现SYN_RECV有几百个且持续增长,说明服务器的半连接队列可能被塞满,这时候检查net.ipv4.tcp_max_syn_backlog这个内核参数,调大后问题往往能缓解。

再比如,你收到告警说服务器连接数超过3000,用ss -tan | wc -l确认数量后,再用ss -tan state time-wait | wc -l看TIME_WAIT占比,如果占比很大,可以修改net.ipv4.tcp_tw_reuse和net.ipv4.tcp_fin_timeout参数来加快回收,这一步一步的排查,路径非常清晰。

关于权限和工具的补充说明

查看网络连接时,普通用户看不到进程信息。ss -tunap不带p参数就能看所有连接,但想看到进程名和PID必须加sudo。netstat同理,这是系统安全机制,正常现象。

部分精简版容器镜像里可能没有ss、netstat或lsof,最低配的排查方式是用cat /proc/net/tcp查看原始TCP连接表,但可读性很差,一般还是推荐装好工具再排查,Debian系安装:apt install iproute2 net-tools lsof,RedHat系安装:yum install iproute net-tools lsof。

常见问题解答

没有netstat命令,是系统坏了吗

不是,新版Linux发行版默认不再安装net-tools包,所以netstat命令不存在,直接用ss替代即可,ss是官方推荐的现代替代工具,功能和语法基本对应,如果确实需要用netstat,用包管理器安装net-tools就行。

连接数太多,怎么快速找到是哪个进程

用ss -tunap带p参数,输出最后一列就是进程PID和名称,如果连接数上万,直接grep筛选可疑端口或IP:先通过ss -tan | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head确定异常IP,再ss -tunap | grep 那个IP,就能看到对应的进程名和PID。

ss显示的结果和netstat不一致,以哪个为准

以ss为准。ss直接读取内核socket信息,数据更新更及时;netstat在某些场景下有缓存,可能滞后几秒,此外两者统计口径有细微差异,netstat默认不显示UDP的某些监听项,ss则更全面,业务排查中遇到不一致,优先信任ss的输出。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/786387.html

赞 (0)
上一篇 2026年11月7日 08:11
下一篇 2026年11月7日 08:15

相关推荐

  • 广州番禺智能门禁怎么选?番禺小区安装智能门禁系统哪家好

    2026年广州番禺智能门禁系统的核心价值在于通过AIoT与多模态生物识别技术,彻底解决城中村复杂人员流动管理与高端社区安防升级的痛点,实现从被动防守到主动预警的安防跨越,番禺区门禁升级的底层逻辑与政策驱动区域治理痛点与政策响应番禺区作为广州典型的城乡结合部与人口流入大区,大石、南村、市桥等片区长期面临人员流动频……

    2026年4月29日
    6500
  • TudCloud圣诞元旦VPS促销如何?香港CN2低至3.75美元/月

    TudCloud圣诞元旦促销提供全场7.5折循环优惠,香港CN2 GIA线路低至3.75美元/月,西雅图支持9929与4837线路灵活选择,是兼顾稳定性与性价比的优质节点,每逢年末岁初,云计算市场总会迎来一波价格战,TudCloud今年的动作显得格外务实,不同于以往那种“首月超低价、续费天价”的套路,这次促销直……

    2026年7月6日
    3400
  • linux命令怎么从服务器下载文件夹?,scp命令怎么用。

    从服务器下载文件夹,最直接、最稳妥的命令是scp -r,例如scp -r 用户名@服务器IP:/远程目录 /本地目录,它会递归复制整个文件夹,很多新手习惯用rz或sz,但面对文件夹时往往会卡住,因为sz只能传单个文件,今天这篇内容,咱们就把“从服务器下载文件夹”这件事聊透,从最常规的scp到断点续传的rsync……

    2026年9月23日
    200
  • 我的世界op如何给自己点卷?,服务器指令有哪些

    在绝大多数我的世界服务器中,op给自己点券的操作核心就是一条指令,但具体命令取决于你用的插件或服务端平台,Java版通常走经济插件,网易基岩版则走后台指令或管理面板,我的世界服务器op怎么给自己点卷?先搞清楚点券在你这台服务器里是什么很多人上来就搜指令,结果把命令敲进去毫无反应,不是指令不对,是你还没弄明白“点……

    2026年10月2日
    100
  • 我的世界mc部落服务器怎么做6星淬炼,淬炼技巧有哪些?

    想在《我的世界》MC部落服务器里把装备淬炼到6星,核心思路就一句话:先确认服务器版本和淬炼NPC位置,再备齐淬炼石和保底材料,最后卡在成功率节点上果断使用保底道具,部落服的淬炼系统不是单纯砸钱就能上去,它有一套隐藏的“服务器规则”在里面,摸清了就等于走捷径,6星淬炼的前置门槛你达标了吗很多玩家开服第一天就冲到淬……

    2026年8月28日
    700
  • DNF安装不上服务器怎么办,失败原因有哪些?

    DNF安装不上显示服务器失败,核心原因是你本地网络与官方服务器连接不畅,或系统环境与游戏组件冲突,网络连接是首要排查对象多数玩家遇到“服务器失败”提示,根源在于本地网络环境,这不是游戏服务器“炸了”,而是你的设备与服务器之间的数据通道不通畅,检查本地网络基础状态查看电脑右下角网络图标,确认是否正常联网,浏览器能……

    2026年8月22日
    1000
  • 广通优云运维怎么样?运维平台哪个好用

    广通优云运维通过全链路自动化监控与智能故障自愈机制,能显著降低企业IT运维成本并提升系统稳定性,是数字化转型期企业的首选解决方案,在IT基础设施日益复杂的今天,传统的“救火式”运维已经无法满足业务连续性的高要求,企业不再仅仅需要一个能报警的工具,而是需要一个能主动发现隐患、自动修复故障的智能化伙伴,广通优云运维……

    2026年5月28日
    3900
  • alertify.js文档怎么用?alertify.js常用API有哪些

    alertify.js 是一款轻量级、零依赖的 JavaScript 通知与对话框库,适合追求极简交互体验且无需引入庞大框架的前端项目,在现代 Web 开发中,前端开发者常常需要在不增加项目臃肿度的前提下,实现美观且功能完备的用户交互反馈,传统的 alert 或 confirm 不仅样式陈旧,且阻塞主线程,严重……

    2026年6月1日
    3700
  • h3c服务器怎么安装到机柜,安装步骤有哪些

    把H3C服务器装进机柜,核心流程只有四步:核对导轨型号、安装内轨、固定外轨、上架锁紧,全程不需要特殊工具,但一个人操作容易受伤,最好两人配合,安装前的准备:先看机柜和配件很多朋友拿到服务器直接就往机柜上抬,结果发现导轨长度不对、孔位对不上,返工浪费半小时,这一步其实最值钱,核对机柜尺寸H3C服务器是标准的19英……

    2026年10月3日
    200
  • steam为什么连不上服务器,怎么解决?

    Steam连接服务器失败怎么办?核心结论是:先确认Steam服务器状态,再依次清理本地网络缓存、更换DNS、检查加速工具,多数情况下能在一分钟内定位并解决问题,为什么Steam连接服务器失败:先分清谁的问题Steam连不上服务器,最常被忽略的原因不是你的网络,而是Steam服务器本身,Steam的服务器分布在全……

    程序编程 2026年11月5日
    200

发表回复

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