netstat -anop|more 查看网络队列
nux下netstat --timers / -o详解及keepalive相关
第一列,一般有一下几种状态;
keepalive - #表示是keepalive的时间计时
on - #表示是重发(retransmission)的时间计时
off - #表示没有时间计时
timewait - #表示等待(timewait)时间计时
第二列,
(576.47/0/0) -> (a/b/c)
a - #计时时间值(当第一列为keepalive的时候,a代表keepalive计时时间;当第一列为on的时候,a代表重发(retransmission)的时间计时;当第一列为timewait的时候,a代表等待(timewait)的时间计时)
b - #已经产生的重发(retransmission)次数
c - #keepalive已经发送的探测(probe)包的次数
注:
1、keepalive的最大时间值跟tcp_keepalive_time的值有关系,tcp_keepalive_time的值,linux默认为7200秒,即2小时,代表的意思为:建立连接后,如果7200秒内连接没有任何数据交互传输,那么服务器将发送探测(probe)包。这里的探测(probe)包也相当于心跳一样。
2、探测(probe)包的相关内核参数跟tcp_keepalive_intvl和tcp_keepalive_probes有关系,tcp_keepalive_probes代表总共发送探测(probe)包的个数(默认为9个),tcp_keepalive_intvl代表发送一个探测(probe)包后,多少秒没有收到回复,则再发送个探测(probe)包,也代表了之前发送的探测(probe)包超时失效(默认为75秒)。再所有的探测(probe)包都发完之后还是没收到回应,那么服务器会主动端口这个连接(长连接)。所以一般如果第二列的c为0的话,a的范围在0 ~ 7200之间,7200为tcp_keepalive_time的值,比如keepalive (178.06/0/0);如果c不为0,但是不可能大于tcp_keepalive_probes的值的,那么a的范围在0 ~ 75, 75为tcp_keepalive_intvl的值。比如keepalive (18.06/0/2)。
3、这里再说一下keepalive的工作原理
若在一个给定连接上,7200秒之内无任何活动,服务器便向客户端发送一个探测段。(我们将在下面的例子中看到探测段的样子。)客户端主机必须是下列四种状态之一:
1) 客户端主机依旧活跃(up)运行,并且从服务器可到达。从客户端TCP的正常响应,服务器知道对方仍然活跃。服务器的TCP为接下来的两小时复位存活定时器,如果在这两个小时到期之前,连接上发生应用程序的通信,则定时器重新为往下的两小时复位,并且接着交换数据。
2) 客户端已经崩溃,或者已经关闭(down),或者正在重启过程中。在这两种情况下,它的TCP都不会响应。服务器没有收到对其发出探测的响应,并且在75秒之后超时。服务器将总共发送10个这样的探测,每个探测75秒。如果没有收到一个响应,它就认为客户端主机已经关闭并终止连接。
3) 客户端曾经崩溃,但已经重启。这种情况下,服务器将会收到对其存活探测的响应,但该响应是一个复位,从而引起服务器对连接的终止。
4) 客户端主机活跃运行,但从服务器不可到达。这与状态2类似,因为TCP无法区别它们两个。它所能表明的仅是未收到对其探测的回复。
4、等待(timewait)时间计时,第二列的a值,最大为60,这里说一下为什么为60,这里存在一个MSL(Maximum Segment Lifetime)的概念,tcp如果在time_wait状态下,会保持两倍MSL的时间值,然后连接才会断开,当然存在time_wait这种状态的话,那么肯定是主动关闭tcp连接那一方,这个如果了解tcp的四次握手概念就知道是为啥了。RFC793定义了MSL为2分钟,Linux设置成了30s,所以linux系统上,time_wait的值最大为60s。所以第一列为timewait时,第二列只有a有值,b、c都为0,比如
timewait (48.32/0/0)。
5、如果State列为CLOSE_WAIT状态是,Timer列多为off (0.00/0/0),这又是为何,因为CLOSE_WAIT的是属于被动关闭那一方,这个是没有超时(timeout)设置的,所以也就不用计时了。CLOSE_WAIT除非你杀进程,CLOSE_WAIT是不会自动消失的。一个CLOSE_WAIT会维持至少2个小时的时间。当然不消失意味着占着资源呢,这里就是占着FD。
6、第一列为on的情况,第二列一般的a,b是有值的,代表重发时间计时和重发的次数,比如on (3.93/4/0),但是也有可能第二列的c也有值,比如:on (2.28/5/2),这种情况,一般都是从keepalive状态转化为on的状态的,而且在on的状态下,第二列的c的值是不会变的,因为c代表着是keepalive的已经发送的探测(probe)包的次数。
netstat -anop|more 查看网络队列的更多相关文章
- netstat 和 lsof 查看网络状态
netstat和lsof都是linux下的工具,可以用于查看系统的网络状态. netstat netstat可以打印 网络连接,路由表,接口统计数据,还有多播和masquerade连接相关的东西(不熟 ...
- Linux下用netstat查看网络状态、端口状态(转)
转:http://blog.csdn.net/guodongdongnumber1/article/details/11383019 在linux一般使用netstat 来查看系统端口使用情况步. ...
- 在Linux下用netstat查看网络状态、端口状态
在Linux下用netstat查看网络状态.端口状态 在linux一般使用netstat 来查看系统端口使用情况步. netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实 ...
- Linux下用netstat查看网络状态、端口状态
在linux一般使用netstat 来查看系统端口使用情况步. netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接口设备的 netstat命 ...
- linux查看网络链接状况命令netstat
linux查看网络链接状况命令 netstat 参数如下: -a 显示所有socket,包括正在监听的. -c 每隔1秒就重新显示一遍,直到用户中断它. -i 显示所有网络接口的信息,格式同“ifco ...
- Linux使用netstat查看网络状态
查看本机的网络状态.使用netstat查看网络状态.显示系统端口使用情况.UDP类型的端口.TCP类型的端口.只显示所有监听端口.只显示所有监听tcp端口. 命令使用举例 命令 说明 netstat ...
- 用netstat查看网络状态详解
--用netstat查看网络状态详解 -----------------------------2014/06/11 一.Linux服务器上11种网络连接状态: ...
- iostat iotop 查看硬盘的读写、 free 查看内存的命令 、netstat 命令查看网络、tcpdump 命令
iostat 命令 查看硬盘的使用情况: iostat iostat -x iotop 命令: 若没安装先安装: yum install iotop -y free 命令,用于查看内存的使用量: fr ...
- FreeBSD查看网络情况
FreeBSD查看网络情况 记录一下FreeBSD下常用的统计当前系统网络连接状态的一些命令: 1)统计80端口连接数 netstat -nat|grep -i "80"|wc - ...
随机推荐
- 《Head First 软件开发》阅读二
项目计划:为成功而筹划 每段伟大的代码始于伟大的计划. 客户现在就要他们的软件,可是开发需要的时间远远超过客户要求时间.我们需要实际解决方法:由客户确定优先级,与客户一起确定优先级顺序,开发出Mile ...
- 【NOIP2017提高组模拟12.17】环
题目 小A有一个环,环上有n个正整数.他有特殊的能力,能将环切成k段,每段包含一个或者多个数字.对于一个切分方案,小A将以如下方式计算优美程度: 首先对于每一段,求出他们的数字和.然后对于每段的和,求 ...
- 016:URL命名与反转URL
为什么需要URL命名? 主要解决蛋疼url变化情况,比如:哪天项目经理或领导过来说,把login改成signin,把register改成signup等蛋疼的需求——因为一旦改了url后,相关视图函数里 ...
- 容器内安装nvidia,cuda,cudnn
/var/lib/docker/overlay2 占用很大,清理Docker占用的磁盘空间,迁移 /var/lib/docker 目录 du -hs /var/lib/docker/ 命令查看磁盘使用 ...
- SecureRandom的坑
之前写随机数的时候一直用SecureRandom.getInstanceStrong()方法生成SecureRandom实例,进而调用其各种next方法.突然有一次,发现next方法卡住了, 每一次调 ...
- Httpwatch抓包
一.下载Httpwatch 二.抓包 1.启动Httpwatch 打开浏览器-选择工具-Httpwatch professional(仅适用于IE和火狐40及以下浏览器) 2.开始抓包 点击“Reco ...
- sqli-labs(34)
0x01构造闭合 同样 发现 ’被注释掉了 试探了一波发现什么信息都不会返回 正确错误的页面都一样 之前我们的方法就是将过滤函数添加的 \ 给吃掉.而get型的方式我们是以url形式提交的,因此数据会 ...
- DVWA--XSS(stored)
XSS 0X01 1.简介 跨站脚本(cross site script)为了避免与样式css混淆,所以简称为XSS. XSS是一种经常出现在web应用中的计算机安全漏洞,也是web中最主流的攻击方式 ...
- Floating Point Math
Floating Point Math Your language isn't broken, it's doing floating point math. Computers can only n ...
- CentOS 7 安装wps2019
1. download https://www.wps.cn/product/wpslinux 2. rpm 安装缺少lib包,于是yum 安装 .x86_64.rpm 3.安装完成,运行的时候又报错 ...