想看下 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 年 4 月 28 日
你应该下载 curl 编译成 debug 版本下个断点去看最方便吧。另外 https 的过程,如果是 SSL 握手的话,和 curl 关系不大,应该看 OpenSSL。
|
2
coyove 2018 年 4 月 28 日
tcpdump
|
3
0576coder OP 我其实要求很简单 我想看是不是像书上说的那样 先与服务器的 443 端口建立 tcp 握手 客户端发送 ssl 信息 服务端返回公钥 客户端检验服务端证书是否合法(客户端怎么检验?) 然后客户端告诉服务端我支持的加密方案 服务端选择加密方式返给客户端 客户端使用服务端公钥进行加密 服务端再用私钥解密 然后再进行 html 的传输 我只想深入了解这个过程 然后能让我把这个过程以文本的方式记录下来 我该怎么做
|
4
liyvhg 2018 年 4 月 28 日 via Android
curl 自带,建议多研究一下 curl 的选项
|
5
liyuhang 2018 年 4 月 28 日
nghttp2?
|
6
yy77 2018 年 4 月 28 日 via iPhone
curl 的 verbose 差不多就挺全的了。
|
7
goofool 2018 年 4 月 28 日 via Android
你需要 tcpdump 或者 wireshark
|
8
liuxu 2018 年 4 月 28 日
curl -v 了解以下
|
9
virusdefender 2018 年 4 月 28 日
你需要的是 wireshark
|
10
wizardoz 2018 年 4 月 28 日
很牛逼的感觉
|
11
guog 2018 年 4 月 28 日 via Android curl -vvvv 了解下
|
12
kongkongyzt 2018 年 4 月 28 日
我感觉你可能更需要 tcpdump
|
13
0576coder OP @kongkongyzt
怎么用 tcpdump 抓 https |
14
salmon5 2018 年 4 月 28 日 via Android
这么简单的问题被你弄得复杂无比
居然用 strace 系统分析的 协议分析 tcpdump+wireshark 完事 |
15
kongkongyzt 2018 年 4 月 28 日
@0576coder #13 路由器上 tcpdump 抓包导出文件, 然后导入到 wireshark 里面, 添加上私钥然后就可以分析了. 当然如果你是本地抓包的话直接 wireshark 就可以了
|
16
l30n 2018 年 4 月 28 日 via Android
抓包了解一下
|