netstat与awk统计网络状态

简介: 查看网络状态

系统管理员想了解网络连接的状态时候,经常会使用netstat命令去统计服务器目前的网络连接状态,下面使用netstat和awk结合的一条命令可以很好的统计当前的网络状态
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:
查询网络状态的命令。

你实际执行这条命令的时候,可能会得到成千上万条类似上面的记录,不过我们就拿其中的一条就足够了。


再来看看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制表符分割,美化一下。

相关文章
|
4天前
|
Java Linux API
统计android设备的网络数据使用量
统计android设备的网络数据使用量
14 0
|
13天前
|
监控 安全 Linux
【专栏】Linux中六个常用的网络命令:ping、traceroute、netstat、nmap、ifconfig和ip
【4月更文挑战第28天】本文介绍了Linux中六个常用的网络命令:ping、traceroute、netstat、nmap、ifconfig和ip,以及它们在测试网络连通性、追踪路由、查看网络状态、安全扫描和接口配置等场景的应用。通过学习和运用这些命令,系统管理员和网络爱好者能更有效地诊断和管理网络问题,确保网络稳定运行。
|
2月前
|
监控 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 显示网络 连接、路由表和网络接口信息 netstat命令 使用指南
【Shell 命令集合 网络通讯 】Linux 显示网络 连接、路由表和网络接口信息 netstat命令 使用指南
73 1
|
13天前
|
数据挖掘 开发工具 Android开发
R语言对git安卓包分类统计、聚类、复杂网络可视化分析
R语言对git安卓包分类统计、聚类、复杂网络可视化分析
|
5月前
|
监控 网络协议 Linux
linux(三十五)网络状态和端口监控 netstat
linux(三十五)网络状态和端口监控 netstat
36 1
|
8月前
|
机器学习/深度学习 数据采集 监控
m基于CNN卷积神经网络的口罩识别系统matlab仿真,带GUI操作界面,可以检测图片和视频,统计人数
m基于CNN卷积神经网络的口罩识别系统matlab仿真,带GUI操作界面,可以检测图片和视频,统计人数
96 0
|
12月前
|
网络协议 Unix Linux
如何在Linux中显示网络连接、路由表、接口统计等信息?Netstat了解一下!
如何在Linux中显示网络连接、路由表、接口统计等信息?Netstat了解一下!
258 0
|
JavaScript Shell Linux
通过SNMP统计网络设备资产信息
通过SNMP统计网络设备资产信息
通过SNMP统计网络设备资产信息
|
监控 Shell 应用服务中间件
网络分析shell脚本(实时流量+连接统计)
网络分析shell脚本(实时流量+连接统计)
228 0
网络分析shell脚本(实时流量+连接统计)