• 【TCP连接的状态】


    linux查看tcp的状态命令:

    1)、netstat -nat  查看TCP各个状态的数量

    2)、lsof  -i:port  可以检测到打开套接字的状况

    3)、  sar -n SOCK 查看tcp创建的连接数

    4)、tcpdump -iany tcp port 9000 对tcp端口为9000的进行抓包

    查看占用端口的进程PID

    1. > netstat -aon|findstr 5037
    2. TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 15448

    通过PID查看所有进程

    1. > tasklist /fi "PID eq 15448"
    2. 映像名称 PID 会话名 会话# 内存使用
    3. ========================= ======== ================ =========== ============
    4. adb.exe 15448 Console 1 5,728 K

    杀死占用端口的进程

    1. > taskkill /pid 15448 /f
    2. 成功: 已终止 PID 为 15448 的进程。

    LISTENING:侦听来自远方的TCP端口的连接请求. 

    首先服务端需要打开一个socket进行监听,状态为LISTEN。

    SYN-SENT:客户端SYN_SENT状态:

    当请求连接时客户端首先要发送同步信号给要访问的机器,此时状态为SYN_SENT,如果连接成功了就变为ESTABLISHED,正常情况下SYN_SENT状态非常短暂。

    SYN-RECEIVED:服务器端状态SYN_RCVD

    当服务器收到客户端发送的同步信号时,将标志位ACK和SYN置1发送给客户端,此时服务器端处于SYN_RCVD状态,如果连接成功了就变为ESTABLISHED,正常情况下SYN_RCVD状态非常短暂。

    如果发现有很多SYN_RCVD状态,那你的机器有可能被SYN Flood的DoS(拒绝服务攻击)攻击了。

    ESTABLISHED:代表一个打开的连接。

    ESTABLISHED状态是表示两台机器正在传输数据,观察这个状态最主要的就是看哪个程序正在处于ESTABLISHED状态。

    FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认

    FIN-WAIT-2:从远程TCP等待连接中断请求

    CLOSE-WAIT:等待从本地用户发来的连接中断请求

    CLOSING:等待远程TCP对连接中断的确认

    LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认

    TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认

    CLOSED:没有任何连接状态

  • 相关阅读:
    一个react前端项目中的配置文件作用解析
    博通BCM575系列 RDMA 网卡驱动 bnxt_re 分析(一)
    【echarts】24、highchart+vue2 - 3D饼图
    [LeetCode周赛复盘] 第 326 场周赛20230101
    Linux 进程管理指南
    基于MS的Dmol3模块计算离子液体的电子转移和成键
    solvePnP的使用及物理意义
    Servlet小结
    Spring Security HTTP认证
    pdp部分依赖图
  • 原文地址:https://blog.csdn.net/j8267643/article/details/134536028