在Linux系统上,可以使用netstat命令显示TCP连接状态。
个人资料
传输控制协议(TCP )传输控制协议是定义如何建立和维护两个系统之间的网络会话以促进APP应用之间的数据交换的标准,它是互联网协议
Linux上的TCP状态列表
以下是可以在Linux上使用netstat或ss命令查看的TCP连接状态列表: ss命令_Linux ss命令详细信息:获取套接字统计信息:
检查程序TCP状态
使用以下命令检查Linux服务器上所有APP应用程序的TCP状态: 显示每个状态的进程数。
# netstat-NAT ' { print $6} } sort-uniq-c
通过将输出传递给规范化来获取特定状态的流程列表
例如,要将进程置于关闭等待状态,请使用# netstat -apn | grep CLOSE_WAIT。 可以进一步筛选此输出,以获取处于关闭等待状态的进程的进程ID。
netstat-APN (组关闭_等待) ' {打印$7} ' '
使用head将输出限制为前10个进程
要使用CLOSE_WAIT TCP连接状态将输出限制为前10个进程,请使用head。
# netstat-APN grep close _ wait ' { print $7} ' ' sort ' uniq-c ' sort-NR '
上图显示8166个进程具有3856个CLOSE_WAIT连接状态。
如果没有TCP连接或进行故障排除,则必须使用大量CLOSE_WAIT连接状态来标识此过程。 这可能意味着APP应用程序不会像预期的那样关闭连接。
# ps 8166
标识TCP连接状态计数和CLOSE_WAIT中具有多个状态的进程脚本
使用netstat命令创建了一个简单的bash脚本,该脚本标识TCP连接状态的数量以及CLOSE_WAIT中具有多个状态的进程。
#! /深情馒头/bash
# scripttoprintlinuxtcpconnectionsusingnetstat
# gut hub :https://github.com/jmu tai
#
# vvvv vvvv-- the code from above
RED='3[0; 31m '
NC='3[0m' # No Color
echo ' '
echo-en ' $ { red } alltcpconnectionscount : $ { NC }n '
netstat-NAT ' { print $6} } sort-uniq-c
echo ' '
echo-en ' $ { red } top close _ waitstatetcpconnections 3360 $ { NC }n '
netstat-APN grep close _ wait ' { print $7} ' ' sort-uniq-c ' sort-NR ' head-n10
输出内容如下。
相关主题