Https丢包分析及底层原理解析

博客探讨了在HTTPS协议下,由于网络延迟导致的丢包问题。通过日志分析和抓包工具发现,当交互时间超过最大连接时间时,双方会断开连接,即使数据包仍在传输中。解决方案是调整HTTPS请求的超时时间。文章还简述了HTTPS的加密和身份认证过程。
摘要由CSDN通过智能技术生成

一、背景

生产服务器为阿里云,应用系统出现请求第三方服务偶发性接口异常,数据查询不回来,查看日志,分析得出,请求接口超过最大连接时间30秒,正常1.2秒左右,能返回数据。经过确认,第三方https连接超时时间设置为10秒,分析认为,由于网络波动延时,导致接口请求超时,让第三方设置超时时间为30秒,重新发起请求,依然存在偶发性接口请求超时,导致数据获取异常。再次分析日志如下
第三方反馈:
在这里插入图片描述

我方日志:
在这里插入图片描述

与第三方沟通,确认对方收到请求,并及时返回。根据日志及现象,初步分析认为网络延迟导致的http丢包,于是开始抓包分析。用tcpdump在系统中抓包观察,使用wireshark分析如下:
在这里插入图片描述

根据图上所示分析,16-17行显示,15行,我方发出数据包,对方返回ACK后,交互时间超过最大连接时间30秒,我方发出Encrypted Alert(网上查看是没有发数据的意思),并发送FI

libnet是一个用于网络数据包分析、生成以及网络测试的库,它主要用于研究和教育目的,同时也常被应用于网络协议分析及网络安全评估等场景。libnet的底层原理涉及到以下几个关键方面: ### 1. 包捕获与解码 libnet能够从网络接口捕获数据包,并对它们进行解析。它通过读取网络设备(如网卡)的数据缓冲区来获取到原始数据包。然后,libnet会基于预设的协议解析器对数据包进行解码,揭示出各个层的信息(如IP头部、TCP头部、HTTP头部等),以便开发者能够深入理解数据包的内容。 ### 2. 协议支持 libnet提供了一组广泛的协议解析器和构建器,支持多种常见的网络协议,包括但不限于IP、ICMP、UDP、TCP、ARP、DNS、DHCP等。对于每个协议,libnet都有详细的解析规则和数据结构设计,以准确地解析其头部信息。 ### 3. 包生成与封装 除了解析现有数据包,libnet还允许用户创建自定义的数据包并将其发送出去。这意味着你可以设置源地址、目标地址、特定的协议类型以及其他字段值,然后将这个配置好的数据包发送至指定的目标网络设备上。 ### 4. 网络仿真与测试 libnet可以用于网络仿真实验室环境,帮助开发者模拟各种网络条件下的通信情况。通过改变网络延迟、丢包率、误码率等参数,libnet能够在控制环境下测试网络协议的表现,这对于优化协议设计和提高网络稳定性有着重要作用。 ### 5. 编程接口 libnet的API设计使得开发者能够方便地集成到自己的项目中。它通常提供了一种类似于函数调用的方式来访问和操作数据包,同时保证了跨平台兼容性,便于在不同操作系统环境中运行。 ### 相关问题 - : 1. libnet与其他网络分析工具相比有何优势? 2. 开发者如何利用libnet进行网络协议测试? 3. libnet能否处理IPv6的数据包?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值