TCP 相关机制

安全研究

超时重传

server 给 client的包丢了:

  • server 继续给 client发包
  • client 每接收一个发一个上一次包丢的ack
  • 三次后,client发了三个丢的包对应的ack
  • 当server接收到相同的三个ack,停止所有的传输,重新发送丢的包

异常

tcp syn

当给一个关闭的端口目标端口发送一个tcp初始连接的syn报文时:

  • 正常:返回rst
  • 异常:没响应,然后超时重传

异常原因如下:

  • 目标设置错误
  • 目标协议栈崩溃
  • 防火墙过滤
  • 没通

tcp window full

当给当发送方发送一个包填满接收方的接收窗口时:

  • 正常:接收方应该回复zero windows size,然后发送方发送保活包。
  • 异常:如果发送方没有收到,然后重传,则意味着接收方崩了

延迟

延迟看各种时间:

  • tcp ack 应该处理非常快,如果ack回慢了,基本是线路问题,不是客户端或者服务器的问题
  • tcp 客户端请求发慢了:客户端问题
  • tcp 服务端响应数据慢了:服务端问题

syn扫描

就发一个对应端口的syn报文

  • 如果收到ack,开着
  • 如果收到rst,关闭
  • 如果没响应,防火墙过滤或者没通,状态不确定