`

netstat中的各种状态

 
阅读更多
TCP三次握手的过程如下:
        1)主动连接端发送一个SYN包给被动连接端;
        2)被动连接端收到SYN包后,发送一个带ACK和SYN标志的包给主动连接端;
        3)主动连接端发送一个带ACK标志的包给被动连接端,握手动作完成。
TCP四次挥手的过程如下:
        1)主动关闭端发送一个FIN包给被动关闭端;
        2)被动关闭端收到FIN包后,发送一个ACK包给主动关闭端;
        3)被动关闭端发送了ACK包后,再发送一个FIN包给主动关闭端;
        4)主动关闭端收到FIN包后,发送一个ACK包,当被动关闭端收到ACK包后,四次挥手动作完成,连接断开。
netstat中的各种状态:
        CLOSED               初始(无连接)状态。
        LISTEN侦听状态,等待远程机器的连接请求。
        SYN_SEND在TCP三次握手期间,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包。
        SYN_RECV在TCP三次握手期间,主动连接端收到SYN包后,进入SYN_RECV状态。
        ESTABLISHED      完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。
        FIN_WAIT_1         在TCP四次挥手时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态。
        FIN_WAIT_2         在TCP四次挥手时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态。
        TIME_WAIT          在TCP四次挥手时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态,等待最多MSL时间,让被动关闭端收到ACK包。
        CLOSING             在TCP四次挥手期间,主动关闭端发送了FIN包后,没有收到对应的ACK包,却收到对方的FIN包,此时,进入CLOSING状态。
        CLOSE_WAIT      在TCP四次挥手期间,被动关闭端收到FIN包后,进入CLOSE_WAIT状态。
        LAST_ACK           在TCP四次挥手时,被动关闭端发送FIN包后,进入LAST_ACK状态,等待对方的ACK包。
主动连接端可能的状态有:         
        CLOSED        SYN_SEND        ESTABLISHED。
主动关闭端可能的状态有:         
        FIN_WAIT_1        FIN_WAIT_2        TIME_WAIT。
被动连接端可能的状态有:         
        LISTEN        SYN_RECV        ESTABLISHED。
被动关闭端可能的状态有:         
        CLOSE_WAIT        LAST_ACK        CLOSED。
在Linux下,如果连接数比较大,可以使用效率更高的ss来替代netstat。
原文出处:http://blog.csdn.net/tommwq/article/details/8041031
分享到:
评论

相关推荐

    netstat——TCP状态栏排序并统计脚本

    netstat TCP状态栏排序并统计脚本

    使用 netstat 命令监视网络状态

    NULL 博文链接:https://dolphin-ygj.iteye.com/blog/357615

    netstat查看网络接口状态

    netstat -anp

    网络测试工具X-netstat

    每一个链接都可在链接表中显示出来,通过该链接表,用户可以看到链接的地址、使用的本地以及远程的端口、链接的状态以及所使用的协议。是XNS 将显示你的每一个链接的来源及其服务器名称和 IP 地址。 X-NetStat实时...

    Linux网络状态工具netstat和ss使用详解

    Linux网络状态工具netstat和ss使用详解 介绍Linux下netstat和ss的使用

    代码实现的netstat程序

    程序代码实现netstat,获取本地tcp、udp状态信息

    图形界面的NetStat

    应用程序网络状态查看器,可以取代Windows自带的命令行工具NetStat.exe。在Windows XP、Windows7、Windows 2003、Windows 2008下运行通过。

    使用netstat命令进行网络问题排查的诀窍.docx

    本文包含了10个典型的问题及netstat的实际使用方法、实际截图和简明解析,方便在实际中运用。 一般来说,netstat的执行结果内容比较多、比较杂,观察起来比较费力,可以配合findstr|grep|more|>等重定向指令,对结果...

    Linux netstat命令详解.pdf

    从整体上看,netstat的输出结果可以分为两个部分: 一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指 的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在...

    netstat查看linux服务器网络连接状态.docx

    netstat查看linux服务器网络连接状态.docx

    netstat显示 TIME-WAIT 的原因及解决办法

    netstat显示 TIME_WAIT 的原因及解决办法 netstat显示TCP连接进入TIME_WAIT状态的原因及解决办法

    Linux下用netstat查看网络状态、端口状态

    主要介绍了Linux下用netstat查看网络状态、端口状态的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    NETSTAT命令详解

    netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,在我的计算机上执行netstat后,其输出结果为

    netstat命令详解

    网管如何使用netstat命令nbtstat命令主要用于查看当前基于netbios的tcp/ip连接状态,通过该工具你可以获得远程或本地机器的组名和机器名。虽然用户使用ipconfig/winipcfg工具可以准确地得到主机的网卡地址,但对于一...

    netstat命令

    NULL 博文链接:https://gaoyu.iteye.com/blog/515761

    Linux netstat命令用法详解

    Linux netstat命令用于显示网络状态。 利用netstat指令可让你得知整个Linux系统的网络情况。 语法netstat [-acCeFghilMnNoprstuvVwx][-A][--ip] 参数说明: -a或–all 显示所有连线中的Socket。 -A或– 列出该网络...

    Linux运维之如何使用ss命令代替netstat

    在运维和管理 Linux 服务器的时候,我们最常用的一个命令就是 netstat,我常用这个命令来查看当前服务器上有哪些进程正在侦听端口,主要用来诊断网络服务的工作状态。 不过,最近有一次安装好一个 Ubuntu 发型版,...

    netstat离线包非rpm,解压即用

    Linux netstat命令用于显示网络状态。 利用netstat指令可让你得知整个Linux系统的网络情况。 https://www.kancloud.cn/wizardforcel/w3school-linux/93035

    Linux netstat命令详细解析

    简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。 输出信息含义执行netstat后,其输出结果为 代码如下...

Global site tag (gtag.js) - Google Analytics