Linux 结合 netstat和awk命令来统计网络连接数
来源:互联网 发布:淘宝女装装修模板 编辑:程序博客网 时间:2024/06/05 08:09
Shell写起来很简单,效果却很神奇,你可以先尝试执行一下这条命令:
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
会得到类似下面的结果,具体数字会有所不同:
LAST_ACK 1
SYN_RECV 14
ESTABLISHED 79
FIN_WAIT1 28
FIN_WAIT2 3
CLOSING 5
TIME_WAIT 1669
也就是说,这条命令可以把当前系统的网络连接状态分类汇总。
下面解释一下为啥要这样写:
一个简单的管道符连接了netstat和awk命令。
------------------------------------------------------------------
先来看看netstat:
netstat -n
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 123.123.123.123:80 234.234.234.234:12345 TIME_WAIT
你实际执行这条命令的时候,可能会得到成千上万条类似上面的记录,不过我们就拿其中的一条就足够了。
------------------------------------------------------------------
再来看看awk:
/^tcp/
滤出tcp开头的记录,屏蔽udp, socket等无关记录。
state[]
相当于定义了一个名叫state的数组
NF
表示记录的字段数,如上所示的记录,NF等于6
$NF
表示某个字段的值,如上所示的记录,$NF也就是$6,表示第6个字段的值,也就是TIME_WAIT
state[$NF]
表示数组元素的值,如上所示的记录,就是state[TIME_WAIT]状态的连接数
++state[$NF]
表示把某个数加一,如上所示的记录,就是把state[TIME_WAIT]状态的连接数加一
END
表示在最后阶段要执行的命令
for(key in state)
遍历数组
print key,"\t",state[key]
打印数组的键和值,中间用\t制表符分割,美化一下。
本篇文章来源于 站长资讯网 原文链接:http://www.net527.com/caozuoxitong/Linux/3150_2.html
- 结合netstat和awk命令来统计网络连接数
- 结合netstat和awk命令来统计网络连接数
- Linux 结合 netstat和awk命令来统计网络连接数
- 使用netstat和awk命令来统计网络连接数
- 使用netstat和awk命令来统计网络连接数
- 使用netstat和awk命令来统计网络连接数
- Linux命令之统计TCP连接数-netstat,awk
- 利用netstat和awk命令来统计网络socket的状态
- netstat 统计网络连接数
- linux netstat 统计连接数
- linux netstat 统计连接数
- awk 统计网络连接数
- linux netstat 统计查看外部连接数
- linux netstat 统计连接数查看
- linux netstat 统计查看外部连接数
- linux netstat 统计连接数查看外部
- linux netstat 统计连接数查看外部
- linux netstat 统计连接数查看外部
- Java_一些小知识点
- Firefox火狐浏览器强制开启硬件加速方法
- DNS原理和解析过程
- Unity3d-OnRenderImage
- LFS on ubuntu12.04
- Linux 结合 netstat和awk命令来统计网络连接数
- cocos2d-x与ISO内存管理
- 归并排序
- Aop实现接口方式
- 学习笔记(二)
- iOS系列之8-很好的iOS开发参考
- cocos2d-x与ISO内存管理
- 排序算法整理之插入排序
- uva 575 - Skew Binary