想看下 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 1
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
抓包了解一下
|