首页 > 其他分享 >转载--查看所有tcp连接数

转载--查看所有tcp连接数

时间:2023-02-03 14:45:41浏览次数:50  
标签:状态 -- 报文 tcp ACK 连接数 FIN 连接 WAIT

查看所有tcp连接

 

转载地址:https://blog.csdn.net/u010833154/article/details/128012562

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
或者(效果等同)
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'

返回结果

TIME_WAIT 150
FIN_WAIT1 15
FIN_WAIT2 1
ESTABLISHED 55
SYN_RECV 21
CLOSING 2
LAST_ACK 4

State:

表TCP连接状态

ESTABLISHED:

指TCP连接已建立,双方可以进行方向数据传递

CLOSE_WAIT:

这种状态的含义其实是表示在等待关闭。当对方close一个SOCKET后发送FIN报文给自己,你系统毫无疑问地会回应一个ACK报文给对方,此时则进入到CLOSE_WAIT状态。接下来呢,实际上你真正需要考虑的事情是察看你是否还有数据发送给对方,如果没有的话, 那么你也就可以close 这个SOCKET,发送 FIN 报文给对方,也即关闭连接。所以你在CLOSE_WAIT 状态下,需要完成的事情是等待你去关闭连接。

LISTENING:

指TCP正在监听端口,可以接受链接

TIME_WAIT:

指连接已准备关闭。表示收到了对方的FIN报文,并发送出了ACK报文,就等2MSL后即可回到CLOSED可用状态了。如果FIN_WAIT_1状态下,收到了对方同时带FIN标志和ACK标志的报文时,可以直接进入到TIME_WAIT状态,而无须经过FIN_WAIT_2 状态。

FIN_WAIT_1:

这个状态要好好解释一下,其实FIN_WAIT_1和 FIN_WAIT_2状态的真正含义都是表示等待对方的FIN报 文。而这两种状态的区别是:FIN_WAIT_1状态实际上是当SOCKET在ESTABLISHED状态时,它想主动关闭连接,向对方发送了FIN 报文,此时该SOCKET即进入到FIN_WAIT_1 状态。而当对方回应ACK 报文后,则进入到FIN_WAIT_2状态,当然在实际的正常情况 下,无论对方何种情况下,都应该马上回应ACK报文,所以FIN_WAIT_1状态一般是比较难见到的,而FIN_WAIT_2 状态还有时常常可以用 netstat看到。

FIN_WAIT_2:

上面已经详细解释了这种状态,实际上FIN_WAIT_2 状态下的SOCKET,表示半连接,也即有一方要求close 连接,但另外还告诉对方,我暂时还有点数据需要传送给你,稍后再关闭连接。

AST_ACK:

是被动关闭一方在发送FIN报文后,最后等待对方的ACK报文。当收到ACK报文后,也即可以进入到CLOSED可用状态了

SYNC_RECEIVED:

收到对方的连接建立请求,这个状态表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat你是很难看到这种状态的,除非你特意写了一个客户端测试程序,故意将三次TCP握手过程中最后一个ACK报文不予发送。因此这种状态时,当收到客户端的ACK报文后,它会进入到ESTABLISHED状态。

SYNC_SEND:

已经主动发出连接建立请求。与SYN_RCVD遥想呼应,当客户端SOCKET执行CONNECT连接时,它首先发送SYN报文,因此也随即它会进入到了SYN_SENT状态,并等待服务端的发送三次握手中的第2个报文。

查看具体ip的连接数量

netstat -an|grep ESTA|awk '{print $5}'|awk 'BEGIN {FS=":"} {print $1 "\n"}'|sort|uniq -c

或者

netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

 

标签:状态,--,报文,tcp,ACK,连接数,FIN,连接,WAIT
From: https://www.cnblogs.com/music-liang/p/17089226.html

相关文章

  • @Cacheable的使用
    SpringBoot缓存之@Cacheable详细介绍https://blog.csdn.net/zl1zl2zl3/article/details/110987968@Cacheable设置过期时间https://blog.csdn.net/weixin_41860719/ar......
  • 计算机网络-hosts文件作用及如何修改hosts文件
    一、Host的简介一般情况下hosts文件都会在电脑的这个路径下: 如果找不到文件有可能是被系统隐藏,可以通过以下方法找到隐藏文件: 在电脑上网过程中,人们一般输入的都是网......
  • 看板:自我管理的高效工具!
    当在团队中在做看板管理的时候,我们一直强调的是看板中的工作项需要承载价值。通过拉动承载价值的工作项在看板中的流动,我们可以 清晰地看到产品价值从需求端流动到交付端......
  • 博客园主题美化
    前提博客园自带的主题实在是太丑了,在申请到js权限后,我便计划装上新主题。前期参考的主题有:博客园二次元主题——Sakura优点:好看,多图,确实好看......
  • JavaScript函数详解:匿名函数、具名函数、函数传参、不定参、返回值、JS预解析机制
     JavaScript函数详解:匿名函数、具名函数、函数传参、不定参、返回值、JS预解析机制  1.具名函数 定义: 调用:方式1:方法名();可以多次调用  ......
  • 前端——函数(匿名函数、自执行函数)
    前端——函数(匿名函数、自执行函数)FreshLemon_于2019-06-1117:11:49发布函数声明:functionbox(){}函数表达式:varbox=function(){};匿名函数:function(){}......
  • jQuery中的 $.extend() 和 $.fn.extend()
    jQuery中的$.extend()和$.fn.extend()ANGWH于2020-05-2406:39:59发布注意:$.extend是为jQuery类添加添加类方法,用$.调用(类似$.ajax),$.fn.extend则是为jQuery对......
  • 14. CTFshow 反序列化 web265
    一、代码<?phperror_reporting(0);include('flag.php');highlight_file(__FILE__);classctfshowAdmin{public$token;public$password;publicfun......
  • 电动滑板车出口欧盟需要做什么标准测试呢?
    电动滑板车出口欧盟EN17128标准电动滑板车是继传统滑板之后的又一新型滑板运动产品。电动滑板车节约能源,充电快速且续航能力强。整车造型美观、可以折叠,操作方便,驾驶更安全......
  • 为啥要对jvm做优化?
    摘要:在jvm中有很多的参数可以进行设置,这样可以让jvm在各种环境中都能够高效的运行。绝大部分的参数保持默认即可。本文分享自华为云社区《为什么需要对jvm进行优化,jvm运......