zoukankan      html  css  js  c++  java
  • 网络分析纪录

     查看端口状态数

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

    tcp三次握手和四次挥手

    client发送syn(SYN=x)请求到server,client状态syn_send状态;

    server收到syn包,确认client的syn(ACK=x+1),同时发送自己的syn包(SYN=y),即SYN+ACK包,此时server进入syn_recv状态;

    client收到server的包,向server发送确认包(ACK=y+1),此包发送完毕,client进入ESTABLISHED状态,server收到确认包,进入ESTABLISHED,三次握手完成;

     

    client发出连接释放,且停止发送数据,FIN=1,seq=u;此时,客户端进入FIN_WAIT_1状态;

    server收到连接释放报文,发出确认报文,ACK=1,ack=u+1,带上自己的序列号seq=v,server进入close_wait状态;此时数据半关闭状态,client没有数据发送了;

    此时server发送数据,client还是接收;

    client收到server的确认请求后,此时client进入FIN_WAIT_2状态,等待server发送连接中断报文;此时server还能发送数据

    server将数据发送完毕,像client发送释放连接报文,FIN=1,ack=u+1,此时是假死状态,假定此时序列号seq=w,server进入last_ack状态,等待client确认;

    client收到server释放连接报文,必须进行确认,ACK=w+1,ACK=1,自己的序列号seq=u+1,此时client进入time_wait状态,此时client连接还没有释放,经过2*MSL时间,客户端关闭;

    server收到client消息,进入close

  • 相关阅读:
    SSL和SSH的差别
    cocos2d-x 3.0游戏实例学习笔记 《跑酷》 第五步--button控制主角Jump&Crouch
    UVA
    程序员,你们这么拼是找不到妹纸的!
    组件:表行组件
    表单修饰符.lazy.number.trim
    表单下拉框select
    表单单选按钮input[type="radio"]
    表单复选框input[type="checkbox"]
    表单控件绑定v-model
  • 原文地址:https://www.cnblogs.com/Shoudler/p/12205806.html
Copyright © 2011-2022 走看看