• 从tcp的角度看,打开一个网页到底发生了什么


    使用wireshark进行抓包分析:新建表达式过滤器,选择协议,字段,匹配方式,应用就能筛选出想要的数据包。

    一个示例:(tcp.srcport == 1523 or tcp.dstport == 1523)。 其中1523是tcp连接的本机端口

    tcp基础知识:

    tcp在传输大量数据时,以mss为单位对数据分块传输。在3次握手时,由通信双方商议确定mss。

    Seq:本机维持的数据计数器;Ack:远程主机的数据计数器

     

    本机ip:192.168.43.106 目的ip:183.232.231.17

    主线:

    1. 输入网址,按下回车,浏览器通过3次握手建立tcp连接,协商mss字段。

    2. 利用tcp连接,传输http文本。由于网页的大小超过了mss,所以分多个段进行传输。

    从本机发http请求,到接收完整的http响应,中间接收了多个tcp segment,并且本机对于tcp段的确认是批量的,即收到了2个段,只需要确认1次。

    3. 传输完后,服务器主动关闭了连接。

    副线:

    需要注意的是,打开一个网页,浏览器会建立多个tcp连接。

    下图是其中一个请求图片的连接:

    本机发送rst包,直接断了连接。

  • 相关阅读:
    Python---列表相关操作
    PyCharm使用小技巧--git上传代码至远程仓库
    Linux下修改文件权限
    Linux运行jmeter
    Jmeter添加负载机
    git使用
    Linux之12——常用统计命令之uniq
    Linux之11——常用统计命令之sort
    Linux之10——dd命令详解
    Linux之8——性能调优之iostat命令详解
  • 原文地址:https://www.cnblogs.com/allenwas3/p/8592773.html
Copyright © 2020-2023  润新知