千家信息网

Linux下怎么查看TCP连接数

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了Linux下怎么查看TCP连接数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux中查看TCP连接数的方法非常
千家信息网最后更新 2026年11月01日Linux下怎么查看TCP连接数

这篇文章主要介绍了Linux下怎么查看TCP连接数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Linux中查看TCP连接数的方法非常简单,只需要几个命令即可。

一、查看哪些IP连接本机

netstat -an

二、查看TCP连接数

查看tcp连接数状态

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

统计8080端口上有多少个TCP连接,命令:

netstat -ant |grep 80|wc -l

TCP连接中有多少个连接状态是ESTABLISHED,命令:

netstat -ant |grep 80|grep ESTABLISHED|wc -l

TCP连接中有多少个连接状态是CLOSE_WAIT

netstat -ant |grep 80|grep CLOSE_WAIT|wc -l

TCP连接中有多少个连接状态是TIME_WAIT

netstat -ant |grep 80|grep TIME_WAIT|wc -l

使用awk来完成统计信息,命令如下

netstat -ant |grep 80|awk '{++S[$NF]} END {for (a in S) print a, S[a]}'

TCP连接状态详解

  • LISTEN: 侦听来自远方的TCP端口的连接请求
  • SYN-SENT: 再发送连接请求后等待匹配的连接请求
  • SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认
  • ESTABLISHED: 代表一个打开的连接
  • FIN-WAIT-1: 等待远程TCP连接中断请求,或先前的连接中断请求的确认
  • FIN-WAIT-2: 从远程TCP等待连接中断请求
  • CLOSE-WAIT: 等待从本地用户发来的连接中断请求
  • CLOSING: 等待远程TCP对连接中断的确认
  • LAST-ACK: 等待原来的发向远程TCP的连接中断请求的确认
  • TIME-WAIT: 等待足够的时间以确保远程TCP接收到连接中断请求的确认
  • CLOSED: 没有任何连接状态
  • SYN_RECV表示正在等待处理的请求数;
  • ESTABLISHED表示正常数据传输状态;
  • TIME_WAIT表示处理完毕,等待超时结束的请求数。

4、如发现系统存在大量TIME_WAIT状态的连接,通过调整内核参数解决

vim /etc/sysctl.conf编辑文件,加入以下内容:

net.ipv4.tcp_syncookies = 1


net.ipv4.tcp_tw_reuse = 1


net.ipv4.tcp_tw_recycle = 1


net.ipv4.tcp_fin_timeout = 30

然后执行

/sbin/sysctl -p

让参数生效。

附上TIME_WAIT状态的意义:

  • net.ipv4.tcp_syncookies = 1 表示开启SYN cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
  • net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
  • net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
  • net.ipv4.tcp_fin_timeout 修改系統默认的TIMEOUT时间

5、客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口状态为TIME_WAIT是不是所有执行主动关闭的socket都会进入TIME_WAIT状态呢?有没有什么情况使主动关闭的socket直接进入CLOSED状态呢?

主动关闭的一方在发送最后一个ack后,就会进入TIME_WAIT状态停留2MSL(max segment lifetime)时间,这个是TCP/IP必不可少的,也就是"解决"不了的。也就是TCP/IP设计者本来是这么设计的。

主要有两个原因:

  • 1、防止上一次连接中的包,迷路后重新出现,影响新连接(经过2MSL,上一次连接中所有的重复包都会消失)
  • 2、可靠的关闭TCP连接在主动关闭方发送的最后一个 ack(fin) ,有可能丢失,这时被动方会重新发fin, 如果这时主动方处于CLOSED状态 ,就会响应rst而不是ack。所以主动方要处于TIME_WAIT状态,而不能是CLOSED 。TIME_WAIT并不会占用很大资源的,除非受到攻击。还有,如果一方 send 或 recv 超时,就会直接进入 CLOSED 状态。

感谢你能够认真阅读完这篇文章,希望小编分享的"Linux下怎么查看TCP连接数"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

状态 主动 命令 篇文章 时间 端口 处理 一方 也就是 参数 服务器 上一 攻击 服务 统计 设计 很大 两个 代表 价值 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中智农互联网科技 伟宏互联网科技 上海卓越科技互联网 北京路客互联网科技有限公司 科技类互联网 深圳互联网络科技有限公司 易通互联网络科技有限公司 润盈互联网科技 互联网金融监管科技 华中科技有哪些互联网大佬 济南和联互联网科技有限公司 富国互联网科技创新基金 济南华为互联网科技产业总部基地 爱医互联网络科技 江苏互联网科技小贷 2021世界互联网领先科技成果发布 山东大美朱楼互联网科技有限公司 中国互联网公司的科技投入 承德科技产业互联网平台 知域互联网科技有限公司官网 南京欣网互联网络科技 互联网通讯科技 互联网最新的科技有限公司 互联网科技集团 太原新华互联网科技学校怎么样 广州优美互联网科技 互联网之后的科技是什么 中国科技互联网公司收入 呼和浩特新华互联网科技学院 广州三三互联网科技有限公司
0