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

相关推荐
yantaohk10 分钟前
普通人怎么利用PCDN赚钱?几个接地气的案例告诉你
大数据·网络
wangl_9213 分钟前
Modbus RTU 与 Modbus TCP 深入指南-目录
网络·网络协议·tcp/ip·tcp·modbus·rtu
Shadow(⊙o⊙)16 分钟前
linux基础指令2.0
linux·运维·服务器·学习·apache
05候补工程师21 分钟前
【408 应用层通关】DNS 域名解析负载博弈、HTTP 延迟计算与邮件协议全家桶详解
网络·经验分享·笔记·网络协议·计算机网络·http
代码中介商25 分钟前
Linux TCP/UDP 网络编程完全指南:从基础到实践
linux·网络·tcp/ip
嵌入式×边缘AI:打怪升级日志30 分钟前
嵌入式 Linux V4L2 摄像头采集编程(五):MMAP + 亮度实时控制(附完整代码与面试题)
linux·运维·服务器
2301_789015621 小时前
Linux基础指令(一)
linux·运维·服务器·c语言·开发语言·c++·linux指令
晚风予卿云月1 小时前
【linux】进程优先级
linux·运维·服务器
wangl_921 小时前
Modbus RTU 与 Modbus TCP 深入指南-总览对比
网络·网络协议·tcp/ip·tcp·modbus·rtu
@insist1231 小时前
信息安全工程师-现代物理隔离三大核心技术与产品体系全解析
网络·软考·信息安全工程师·软件水平考试