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

相关推荐
Code Warrior1 小时前
【Linux】Socket 编程预备知识
linux·网络·c++
jenchoi4131 小时前
【2025-11-12】软件供应链安全日报:最新漏洞预警与投毒预警情报汇总
网络·安全·web安全·网络安全·npm
摘星|2 小时前
架设一台NFS服务器,并按照以下要求配置
linux·运维·服务器
做运维的阿瑞2 小时前
Linux环境变量持久化完全指南
linux·运维·服务器
天才奇男子2 小时前
从零开始搭建Linux Web服务器
linux·服务器·前端
xxtzaaa3 小时前
游戏被IP限制多开,如何在同一网络下用不同IP多开游戏?
网络·tcp/ip·游戏
DY009J3 小时前
如何在Ubuntu虚拟机中设置Samba共享,并在Windows宿主机中挂载为网络驱动器
网络·windows·ubuntu
Mr_Dwj3 小时前
【运维】GNU/Linux 入门笔记
linux·运维·gnu
Elias不吃糖3 小时前
NebulaChat项目构建笔记
linux·c++·笔记·多线程
Empty_7773 小时前
Ansible之Playbook简单应用
网络·ansible