Describe the bug
查看了下目前gotls的实现,貌似只能获取tls应答包,不能获取tls请求数据(没看到相关的hook),应该可以attach到tls.(*halfConn).decrypt函数?解密后的数据是在return value,入参是加密数据,不过我看前面有拦截秘钥,可以在用户态程序去做解密?golang程序暂不支持uretprobe,不然就可以直接attach tls.Read了,以下是另一种折中的方案: https://github.com/iovisor/bcc/issues/1320#issuecomment-407927542
To Reproduce
Steps to reproduce the behavior:
测试gotls功能,curl请求到本地的go https服务
Expected behavior
能够同时截获tls请求和响应
- Env: [run
make env to get the environment variables]
- OS: [Ubuntu 22.04]
- Arch: [amd64]
- Kernel Version: [5.15]
Describe the bug
查看了下目前gotls的实现,貌似只能获取tls应答包,不能获取tls请求数据(没看到相关的hook),应该可以attach到tls.(*halfConn).decrypt函数?解密后的数据是在return value,入参是加密数据,不过我看前面有拦截秘钥,可以在用户态程序去做解密?golang程序暂不支持uretprobe,不然就可以直接attach tls.Read了,以下是另一种折中的方案:
https://github.com/iovisor/bcc/issues/1320#issuecomment-407927542To Reproduce
Steps to reproduce the behavior:
测试gotls功能,curl请求到本地的go https服务
Expected behavior
能够同时截获tls请求和响应
make envto get the environment variables]