【Linux】汇总TCP网络连接状态命令

输入命令:
netstat -na | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

显示:

让我们逐步解析这个命令:

netstat -na:
netstat 是一个用于显示网络连接、路由表、接口统计等信息的命令。
-n 选项表示输出地址和端口以数字格式显示,而不是尝试将它们转换为主机名或服务名。
-a 选项表示显示所有活动的连接(包括监听和非监听的套接字)。

awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}':
awk 是一个强大的文本处理工具,可以用来搜索、替换和打印文件中的模式。
'/^tcp/' 是一个正则表达式,它匹配所有以 "tcp" 开始的行,这通常意味着它在筛选出TCP协议的连接。
**{++S[$NF]}** 这部分代码的作用是计数。$NF 是当前行的最后一个字段,在 netstat -na 的输出中通常是连接状态(如 "TIME_WAIT", "ESTABLISHED", "LISTEN")。每遇到一个状态,就将其作为数组 S 的键,并增加该键对应的值。

END 关键字表示当输入文件的所有行都被处理完毕后,执行后面的大括号内的命令。

{for(a in S) print a, S[a]} 遍历数组 S 中的所有键(即连接状态),并打印每个状态及其出现的次数。

最终,这段命令的输出显示了以下信息:

TIME_WAIT 状态的连接有 1059 个

ESTABLISHED 状态的连接有 600 个

LISTEN 状态的连接有 15 个

相关推荐
XX風2 分钟前
三维点云处理环境相关-ubuntu安装numpy、open3d
linux·ubuntu·numpy
仍然.2 分钟前
网络编程(一)---传输层协议和UDP数据报套接字编程
网络·网络协议·udp
zzipeng3 分钟前
IMX6ULL CAN通讯应用学习
linux·运维·网络
代码中介商4 分钟前
Linux多线程编程完全指南(下):线程同步与互斥锁
linux·redis·线程·互斥锁
一个人旅程~5 分钟前
Win旧版或win10部分版本如何解除260字符长路径名限制?
linux·windows·经验分享·电脑
乌托邦的逃亡者6 分钟前
Ubuntu主机中,为一个网卡设置多个IP地址
服务器·网络·ubuntu
iEdHu9 分钟前
LinuxDO | L站 | Linux.do邀请码2026最新获取方式【邀请链接每日分享】
linux·经验分享·其他·社交电子
环流_10 分钟前
NAT工作机制(中间人为请求和响应搭桥牵线)
网络·智能路由器
中国lanwp19 分钟前
CentOS 7 搭建 NFS Server 服务端 + 客户端 完整一键配置
linux·运维·centos
charlie11451419124 分钟前
嵌入式Linux驱动开发(8)——内存映射 I/O - 别拿物理地址当指针用
linux·开发语言·驱动开发·c·imx6ull