使用 SSH 的动态端口转发使用 SOCKS 协议。 SSH 如何知道请求要去哪里?例如,如果请求是 HTTP 请求,SSH 不理解 HTTP,那么它从哪里找出 HTTP 请求要去哪里呢?谢谢。
答案1
事实并非如此。它创建一个 SOCKS 代理并客户谈论 SOCKS 协议来说明它需要做什么。这一层没有“http”请求。
网络浏览器使用“SOCKS”语言来表示“将我连接到 XYZ”,一旦建立连接然后它与远程服务器使用 HTTP(或 HTTPS)协议。
类似地,支持 SOCKS 的 SMTP 客户端可以与 SOCKS 对话并说“将我连接到 ABC”,然后对话 SMTP。