linux-netstat输出的网络连接状态信息

[[email protected] ~]# netstat -n|head  -3
Active Internet connections (w/o servers)
Proto    Recv-Q   Send-Q    Local Address        Foreign Address         State      
tcp        0        52     192.168.1.165:22     192.168.1.10:59337     ESTABLISHED 

一共六列:
第一列为socket使用的协议。

[[email protected] ~]$ netstat -n |awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘
TIME_WAIT 9137
CLOSE_WAIT 207
FIN_WAIT1 547
ESTABLISHED 597
FIN_WAIT2 74
SYN_RECV 70
CLOSING 55
LAST_ACK 8

[[email protected] ~]# man netstat 
OUTPUT
Active Internet connections (TCP, UDP, raw)
Proto
The protocol (tcp, udp, raw) used by the socket.
第一列为socket使用的协议。

Recv-Q
The count of bytes not copied by the user program connected to this socket.
第二列为接到的但是还没处理的字节数。

Send-Q
The count of bytes not acknowledged by the remote host.
第三列为已经发送的但是没有被远程主机确认收到的字节数。

Local Address
Address and port number of the local end of the socket.Unless the --numeric(-n)
optionisspecified,thesocketaddress is resolved to its canonical host name
(FQDN), and the port number is translated into the corresponding service name.
第四列为 本地的地址及端口。

Foreign Address
Address and port number of the remote endofthesocket.Analogousto"Local Address."
第五列为外部的地址及端口。

State
Thestateofthesocket.Sincethere are no states in raw mode and usually no
states used in UDP, this column may be left blank. Normally this can be one of sev-
eral values:
第六列为socket的状态,通常仅仅有tcp的状态,状态值可能有ESTABLISHED,SYN_SENT,SYN_RECV FIN_WAIT1,FIN_WAIT2,TIME_WAIT等,详见下文。其中,最重要的是第六列。

ESTABLISHED     established
The socket has an established connection.
socket已经建立连接,表示处于连接的状态,一般认为有一个ESTABLISHED认为是一个服务的并发连接。这个连接状态在生产场景很重要,要重点关注。
SYN_SENT
The socket is actively attempting to establish a connection. 
socket正在积极尝试建立一个连接,即处于发送后连接前的一个等待但未匹配进入连接的状态。
SYN_RECV
A connection request has been received from the network.
已经从网络上收到一个连接请求。

FIN_WAIT1
The socket is closed, and the connection is shutting down. 
socket已关闭,连接正在或正要关闭。

FIN_WAIT2
Connectionisclosed,andthesocket is waiting for a shutdown from the remote end.
连接已关闭,并且socket正在等待远端结束。

TIME_WAIT
The socket is waiting after close to handle packets still in the network.
socket正在等待关闭处理仍在网络上的数据包,这个连接状态在生产场景很重要,要重点关注。

CLOSED The socket is not being used.| socket不在被占用了。
CLOSE_WAIT
The remote end has shutdown, waiting for the socket to close.
远端已经结束,等待socket关闭。

LAST_ACK
The remote end has shut down, and the socket is closed. Waiting for acknowl-edgement.|
远端已经结束,并且socket也已关闭,等待acknowl-edgement。
LISTEN Thesocketislisteningforincoming connections.Such sockets are not
included in the output unless you specify the --listening (-l) or --all (-a)
option.

socket正在监听连接请求。
CLOSING
Both sockets are shut down but we still don’t have all our data sent.
sockets关闭,但是我们仍旧没有发送数据。
UNKNOWN
The state of the socket is unknown
未知的状态。
时间: 2025-01-05 18:22:22

linux-netstat输出的网络连接状态信息的相关文章

netstat 输出的网络连接状态信息

netstat -n |awk '/^tcp/ {++dengyong[$NF]} END {for(a in dengyong) print a, dengyong[a]}'

CentOS下netstat + awk 查看tcp的网络连接状态

执行以下命令: #netstat -n | awk ‘/^tcp/ {++state[$NF]} END {for(key in state) print key."\t".state[key]}’ 会得到类似下面的结果,具体数字会有所不同: FIN_WAIT_1 286 FIN_WAIT_2 960 SYN_SENT 3 LAST_ACK 32 CLOSING 1 CLOSED 36 SYN_RCVD 144 TIME_WAIT 2520 ESTABLISHED 352 #差不多等于

Linux netstat 命令查看80端口状态

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等. 输出信息含义 执行netstat后,其输出结果为 Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 2 210.34.6.89:t

OK335xS 网络连接打印信息 hacking

/*********************************************************************** * OK335xS 网络连接打印信息 hacking * 说明: * 当我们插入网线的时候,经常会看到对应的网卡已连接,当前属于10M. * 100M网卡工作状态等等信息,那么这些信息是如何被输出的,工作机制是什么, * 网卡的速度是由phy决定的还是由mac决定的,是不是在phy对应的中断里处理, * 等等,这些内容都需要去确认. * * 2016-

VMware 桥接 Bridge 复制物理网络连接状态

https://zhidao.baidu.com/question/535593443.html 意思就是说,VM上使用的是虚拟的网卡,也就是说VM虚拟机上的网卡不是真实存在的,而桥接还有其他的网路链接方式,都是必须存在网卡的.复制物理网卡连接状态,就是说把你指定的.本机的.真是网卡的状态信息复制给虚拟机的虚拟网卡,比如说你的本机真是网卡链接到了家用路由器的LAN口上,获得到了DHCP分配的地址,那么你的虚拟网卡就好像和真是网卡接入了同一台交换机中,也可以获得DHCP分配到的地址. http:/

Android判断网络连接状态

需要相关权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/><uses-permission android:name="android.permission.INTERNET"/

18_手机网络连接状态

判断手机的网络连接状态,能够识别mobile和wifi连接. 以下程序,参考自 http://www.cnblogs.com/qingblog/archive/2012/07/19/2598983.html 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1 /** 2 * 判断网络连接状态 3

VC获得本机网络连接状态

/本机网络连接类型(成功) #define  NET_TYPE_RAS_DIAL_UP_CONNECT_NET           0x01    //上网类型:采用RAS拨号连接上网    0x01 #define  NET_TYPE_LAN_CONNECT_NET                   0x02    //上网类型:采用网卡通过局域网上网 0x02 #define  NET_TYPE_PROXY_CONNECT_NET                 0x04    //上网类

android 检查网络连接状态实现步骤

获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1)判断是否有网络连接 复制代码 代码如下: public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConn