网络抓包学习

tcp建立连接(三次握手)

tcp连接

当你的页面仅支持http1.x的时候,浏览器进程可能会和服务器建立多个tcp连接。用不同的端口号区分tcp连接。

TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。

tcp断开连接

tcp断开连接,服务器主动断开
杀死浏览器进程,浏览器主动断开

断开连接分两种情况:

  • 一种情况是正常浏览网页,提出结束请求的是服务器,这种情况下一般都是进行正常的keep-alive,然后服务器提起正常的请求断开连接,四次挥手。
  • 另一种情况就是用户主动杀死浏览器进程,可能就只有三次挥手了。服务器被动断开连接的时候,并且没有可传输的数据的时候,可能会将Server对Client的FIN报文的确认和Server的FIN一起发,这可能是三次挥手的原因

https建立连接

https进行连接

首先还是正常的tcp进行连接。

然后进行的就是tls的握手:

  • client hello 这一步主要是向服务器发送客户端支持的http版本,包括http1.x 或者http2等,还有就是浏览器支持的加密的各种信息供服务端选择。
  • Server Hello 选择client hello支持的各种协议,当然只是选择一个。
  • certificate 服务器向浏览器发送证书链。
  • Sever Hello Done 服务器向浏览器发送完毕,等待浏览器发送。
  • Client Key Exchange 向服务器发送加密的相关方式

上面只是对各种包的一个大概的说明。

参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容