tcp wireshark 分析
客户端超时,主动发起关闭。FIN
http 主动超时断开
正常:
这里只有三次挥手
客户端sleep 5秒
抓取https:
用tcpdump 抓取。
用wireshark 解析:
=============================================https://blog.csdn.net/weixin_43977912/article/details/114670877============
方法一:
1、在wireshark的首选项中的protocols的tls选项里添加服务器私钥文件。p12文件需要填写密码。
方法二:
1、使用chrome浏览器浏览页面,在系统环境变量中设置SSLKEYLOGFILE=C:\ssl_key\sslog.log(可变),将对应的文件同时添加到的首选项中的protocols的tls选项。
方法一:
限制很大。不好用
1 加密协议只能使用SSLv3或(D)TLS 1.0-1.2
2、不能使用(EC)DHE算法交换密钥
SSL会话建立过程由服务器端决定密钥交换算法,client hello会提供可选的密钥交换算法,服务器在server hello时选择最终使用的算法。
试了下客户端提供的算法有例如下图,提供的密钥交换算法都是ECDHE或者RSA。目前默认会选择ECDHE,因为RSA密钥交换存在漏洞不安全。
服务器端(以tomcat为例)可以指定支持的cipher suit,从而限定密钥交换算法范围。
试了一些网站,使用的都是ECDHE密钥交换算法,wireshark不支持
方法二解密限制
使用key log file log的方式,即记录会话Pre-Master-Secret的方式不存在这些方法一的相关限制。但是不能使用旁路的方式获取会话加密密钥,需要在服务器端或者客户端处获取
只用用浏览器??
操作步骤
设置Chrome浏览器的tls session_key保存至本地
网上很多博客都是介绍Windows下如何保存tls session_key。
在Linux下配置方式是类似的,设置一个全局变量即可,建议设置到~/.profile下,即在该文件末尾增加一栏:
使用go https 来生成 日志,类似浏览器。
使用golang https客户端保存TLS密钥
自己定http.Client中的Transport的TLSClientConfig,并给KeyLogWriter指定可读写文件即可,transport示例如下:
f, err := os.Open("/xxx/hello/httsdecrypt/ssl.key")
if !os.IsExist(err) {
f, err = os.Create("/xxx/hello/httsdecrypt/ssl.key")
if err != nil {
panic(err)
}
} else {
panic(err)
}
t := &http.Transport{
Proxy: http.ProxyFromEnvironment,
DialContext: (&net.Dialer{
Timeout: 30 * time.Second,
KeepAlive: 30 * time.Second,
DualStack: true,
}).DialContext,
ForceAttemptHTTP2: true,
MaxIdleConns: 100,
IdleConnTimeout: 90 * time.Second,
TLSHandshakeTimeout: 10 * time.Second,
ExpectContinueTimeout: 1 * time.Second,
TLSClientConfig: &tls.Config{
InsecureSkipVerify: true,
KeyLogWriter: f,
},
}
client := &http.Client{
Transport: t,
}
参考:
http://www.h3c.com/cn/d_201411/921505_30005_0.htm
https://blog.csdn.net/weixin_43977912/article/details/114670877
https://blog.csdn.net/wangym307/article/details/122962805
https://www.cnblogs.com/yurang/p/11505741.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!