利用netstat和awk统计当前系统的tcp连接数

本文介绍了如何使用netstat和awk命令统计当前系统的TCP连接数。详细解析了TCP的状态机,包括LISTEN、SYN_SENT、SYN_RECV、ESTABLISHED等状态的含义,并探讨了长连接和短连接的区别。最后,给出了使用awk统计不同TCP状态连接数的shell代码示例。
摘要由CSDN通过智能技术生成

1 问题简介

TCP连接数可以反映当前服务器的运行状态,统计出当前服务器各种类型的tcp连接可以用于服务运行监控和压力测试,netstat可以查看当前服务器的所有连接状况,利用netstat和awk工具可以进行tcp连接的统计。下面是普通netstat命令的结果:

mem

图1 netstat运行结果

要充分理解这个结果还得从TCP的原理讲起

2 TCP的介绍

关于TCP部分的知识,仔细来讲,几本大砖头都讲不完,下面通过一张TCP的状态机把最基本的原理讲一讲:

2.1 TPC状态机

mem

图2 TCP状态机

一个完整的TCP连接,有三个阶段:

  • TCP三次握手
  • 数据传送
  • TCP四次挥手

几个关键值:

  • SYN: (同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效,表示一个新的TCP连接请求。

  • ACK: (确认编号,Acknowledgement Number)是对TCP请求的确认标志,同时提示对端系统已经成功接收所有数据。

  • FIN: (结束标志,FINish)用来结束一个TCP回话,但对应端口仍处于开放状态,准备接收后续数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值