我是 go 编程语言的新手,我正在使用 Google 的“gopacket”库自己制作以太网框架。我已经成功地在用户空间中实现了用于教育目的的基本 TCP 功能,并且我可以成功地启动与 Web 服务器的 3 次握手。
现在我想在此基础上启动 TLS 握手,我的问题是所有现有的 TLS 库都使用套接字或 Conn 接口(interface)来启动 TLS 连接。是否有一些简单的方法可以在 go 中制作原始 TLS Client Hello 消息,我可以将其用作我的 TCP 段的有效负载?
我不想实现诸如数据传输之类的花哨的东西。如果我能够向服务器发送 Client-Hello 并在结束连接之前查看回复内容就足够了。
感谢您为 go 新手提供的任何建议。 :-)
最佳答案
我会说一种方法是模拟一个 Conn
你提供给 TLS 库,这样你就可以拦截调用并转发/中继它们或者......你通过手动方式执行此操作例如看handshake_client.go
并复制你需要的任何东西(遗憾的是它包含的方法只是私有(private)的)。
我个人可能会选择 Conn
方法。
关于ssl - "Craft"go_lang 中的 TLS Client Hello,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50852038/