【博客172】查看当前系统tcp连接以及处于各个状态的数量

内容: 查看自己当前系统tcp连接各个状态的数量

查看我们系统的tcp连接命令:netstat

可选的参数:
      -a 显示所有socket,包括正在监听的。
      -c 每隔1秒就重新显示一遍,直到用户中断它。
      -i 显示所有网络接口的信息,格式同“ifconfig -e”。
      -n 以网络IP地址代替名称,显示出网络连接情形。
      -r 显示核心路由表,格式同“route -e”。
      -t 显示TCP协议的连接情况。
      -u 显示UDP协议的连接情况。
      -v 显示正在进行的工作。

我们查看的是tcp的连接,那么我们选择atn三个:
在这里插入图片描述
接下来我们需要对各个状态进行统计,使用命令如下:

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

命令解析:

1、awk是进行流编辑的命令,使用它对数据流进行编辑,是一个很强大的命令,这里主要用到awk的数组

2、awk的模式是对匹配的内容进行操作,其中/^tcp/是选择tcp(其实前面如果有t选项也可以不过滤)

3、count[]数组其实是awk适配使用的,我们以状态名字为键,数量为值。所以print的时候,打印键,再
   打印值就呈现出我们看到的结果了。这个用法就像c++的哈希容器一样。NF

4、NF的含义,NF其实是最后一列的意思,$NF就是取最后一列的值。因为awk是以行为处理大单元,可以
   细致到列这个小单元。NF是一行有列数,$n是取第几列的意思,所以$NF就是取最后一列。而nerstat
   查询结果最后一列就是状态名字

命令结果:跟我们netstat -atn查询结果一一致:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值