Wilbur
Wilbur
具体来说不仅限于mysqld,而是作为openssl服务端的问题。在gdb跟踪调试了openssl的SSL_accept函数后发现,只有在SSL_do_handshake函数返回后SSL参数才有正确的赋值。随后将openssl_masterkey.h里的"uprobe/SSL_write_key"调整成"uretprobe/SSL_write_key",验证成功。
以下是调试服务端时候的日志 connection-38592 [003] d... 410734.666741: bpf_trace_printk: uprobe/SSL_write_key connection-38592 [003] d... 410734.666761: bpf_trace_printk: new key :96c0, new: 14040 connection-38592 [003] d... 410734.666774: bpf_trace_printk: uretprobe/SSL_write_key connection-38592 [003] d... 410734.666774: bpf_trace_printk: openssl uretprobe/SSL_write...