linux netstat

性能测试时,要经常查看服务器的网络连接状态,netstat是一个非常优秀的工具,通过netstat可以显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。

netstat -[rn] <==与路由有关的参数
netstat -[antulpc] <==与网路介面有关的参数参数:

与路由 (route) 有关的参数说明:
-r :列出路由表(route table),功能如同 route 这个指令;
-n :不使用主机名称与服务名称,使用 IP 与 port number ,如同 route -n
与网路介面有关的参数:
-a :列出所有的连线状态,包括 tcp/udp/unix socket 等;
-t :仅列出 TCP 封包的连线;
-u :仅列出 UDP 封包的连线;
-l :仅列出有在 Listen (监听) 的服务之网路状态;
-p :列出 PID 与 Program 的档名;

-c :可以设定几秒钟后自动更新一次,例如 -c 5 每五秒更新一次网路状态的显示;
-v :显示正在进行的工作。

下面这个语句是一个非常好的查看TCP连接状态的语句:

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

返回结果示例:

LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057

共有12中可能的状态,前面11种是按照TCP连接建立的三次握手和TCP连接断开的四次挥手过程来描述的。
1)、LISTEN:首先服务端需要打开一个socket进行监 听,状态为LISTEN.

2)、SYN_SENT:客户端通过应用程序调用connect进行active open.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态置为SYN_SENT.

3)、SYN_RECV:服务端应发出ACK确认客户端的 SYN,同时自己向客户端发送一个SYN. 之后状态置为SYN_RECV

4)、ESTABLISHED: 代表一个打开的连接,双方可以进行或已经在数据交互了。

5)、FIN_WAIT1:主动关闭(active close)端应用程序调用close,于是其TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态.

6)、CLOSE_WAIT:被动关闭(passive close)端TCP接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符传递给上层应用程序),并进入CLOSE_WAIT.

7)、FIN_WAIT2:主动关闭端接到ACK后,就进入了 FIN-WAIT-2 .

8)、LAST_ACK:被动关闭端一段时间后,接收到文件结束 符的应用程序将调用CLOSE关闭连接。这导致它的TCP也发送一个 FIN,等待对方的ACK.就进入了LAST-ACK .

9)、TIME_WAIT:在主动关闭端接收到FIN后,TCP 就发送ACK包,并进入TIME-WAIT状态。

10)、CLOSING: 比较少见.

11)、CLOSED: 被动关闭端在接受到ACK包后,就进入了closed的状态。连接结束.

12)、UNKNOWN: 未知的Socket状态。

SYN : (同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效。表示一个新的TCP连接请求。
ACK : (确认编号,Acknowledgement Number)是对TCP请求的确认标志,同时提示对端系统已经成功接收所有数据。
FIN : (结束标志,FINish)用来结束一个TCP回话.但对应端口仍处于开放状态,准备接收后续数据。

PS:在windows下有个小工具挺好的,TCPView is a Windows program that will show you detailed listings of all TCP and UDP endpoints on your system, including the local and remote addresses and state of TCP connections.见 http://technet.microsoft.com/en-us/sysinternals/bb897437 ;当然如果要详细分析数据包,可选用sniffer、Wireshark等更强大的工具
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hhb200766

菩提本无树

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值