想看下 https 的真正握手过程(虽然网上的资料很多 但是我就想自己去看下)
所以我就想直接用 strace 看一个 curl https://xxx.com 但是 mac 上只有 dtruss 那我就用这个看 但是执行这样的命令
sudo dtruss curl https://xxxx.com > ~/Downloads/dtruss_result
这个文件生成了 但是里面是空的
我执行
curl https://xxxx.com > ~/Downloads/dtruss_result
这样是能把完整的 html 写入的
我只想看看书上说的跟网上各位大佬抄来抄去说的 https 的过程 想亲自感受下单向认证跟双向认证的区别
1 linjianru 2018-04-28 18:15:35 +08:00 你应该下载 curl 编译成 debug 版本下个断点去看最方便吧。另外 https 的过程,如果是 SSL 握手的话,和 curl 关系不大,应该看 OpenSSL。 |
![]() | 2 coyove 2018-04-28 18:20:50 +08:00 tcpdump |
3 0576coder OP 我其实要求很简单 我想看是不是像书上说的那样 先与服务器的 443 端口建立 tcp 握手 客户端发送 ssl 信息 服务端返回公钥 客户端检验服务端证书是否合法(客户端怎么检验?) 然后客户端告诉服务端我支持的加密方案 服务端选择加密方式返给客户端 客户端使用服务端公钥进行加密 服务端再用私钥解密 然后再进行 html 的传输 我只想深入了解这个过程 然后能让我把这个过程以文本的方式记录下来 我该怎么做 |
![]() | 4 liyvhg 2018-04-28 18:32:01 +08:00 via Android curl 自带,建议多研究一下 curl 的选项 |
![]() | 5 liyuhang 2018-04-28 18:37:32 +08:00 nghttp2? |
![]() | 6 yy77 2018-04-28 18:51:10 +08:00 via iPhone curl 的 verbose 差不多就挺全的了。 |
![]() | 7 goofool 2018-04-28 19:35:58 +08:00 via Android 你需要 tcpdump 或者 wireshark |
![]() | 8 liuxu 2018-04-28 19:37:07 +08:00 curl -v 了解以下 |
![]() | 9 virusdefender 2018-04-28 20:35:39 +08:00 你需要的是 wireshark |
![]() | 10 wizardoz 2018-04-28 20:40:45 +08:00 很牛逼的感觉 |
![]() | 11 guog 2018-04-28 20:58:31 +08:00 via Android ![]() curl -vvvv 了解下 |
![]() | 12 kongkongyzt 2018-04-28 21:05:26 +08:00 我感觉你可能更需要 tcpdump |
13 0576coder OP @kongkongyzt 怎么用 tcpdump 抓 https |
14 salmon5 2018-04-28 23:30:29 +08:00 via Android 这么简单的问题被你弄得复杂无比 居然用 strace 系统分析的 协议分析 tcpdump+wireshark 完事 |
![]() | 15 kongkongyzt 2018-04-28 23:30:32 +08:00 @0576coder #13 路由器上 tcpdump 抓包导出文件, 然后导入到 wireshark 里面, 添加上私钥然后就可以分析了. 当然如果你是本地抓包的话直接 wireshark 就可以了 |
![]() | 16 l30n 2018-04-28 23:45:41 +08:00 via Android 抓包了解一下 |