【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 个

相关推荐
轻松Ai享生活1 小时前
linux 日志详解
linux
猫头虎1 小时前
如何实现在多跳UDP传输场景,保证单文件和多文件完整传输的成功率?
java·开发语言·网络·python·网络协议·golang·udp
小白的代码日记1 小时前
Linux常用指令
linux·运维·服务器
期待未来的男孩1 小时前
Cisco IOS Classic Firewall
网络·安全
月舞之剑2 小时前
linux离线安装nodejs
linux·node.js
维尔切2 小时前
Linux中Https配置与私有CA部署指南
linux·运维·https
小熊h2 小时前
【自动化备份全网服务器数据项目】
linux·服务器·自动化·备份数据
丰锋ff3 小时前
计算机网络摘星题库800题笔记 第4章 网络层
网络·笔记·计算机网络
懒散猴3 小时前
【无标题】centos 配置阿里云的yum源
linux·阿里云·centos
果子⌂3 小时前
云原生环境 Prometheus 企业级监控实战
linux·运维·服务器·kubernetes·云计算·prometheus