SOCKS5 如何推断 SSH 动态转发中的目标端口?
How SOCKS5 infers the destination port within SSH dynamic forwarding?
使用本地转发时,我们可以自由选择目标端口:
ssh -L 8000:10.10.1.11:80 user@192.168.56.102
- 80 是目标端口 - 我们明确指定要转发到哪个端口。
看看diagram in this article。如果我理解正确的话,在动态转发中目标端口有点隐含(?):
ssh -D 8080 user@192.168.56.102
- 8080 是本地主机端口,但它仍然以某种方式为我们转发到 80。
问题:
- SOCKS5 代理如何知道将流量转发到哪个端口?
- SOCKS5 代理是否以某种方式从其代理的流量协议中嗅探目的地?
- 可以配置目标端口吗?
- 它是在哪里配置的——在我的本地机器上,还是在为我们做最终转发的远程机器上?无处可去?
- 是protocols/ports预定义的固定集合吗?像 http=80 目标端口?
- 您可以添加转发的任何其他内部详细信息以阐明图片。
谢谢。
PS。在这里 https://unix.stackexchange.com/questions/213213/difference-between-local-port-forwarding-and-dynamic-port-forwarding#comment401063_213219 我发现了一些我感兴趣的提示,遗憾的是没有提供详细信息...
SSH和SOCKS是两种完全不同且互不相关的协议。但是,回答你的问题:
How SOCKS5 proxy knows which port to forward traffic to?
SOCKS 客户端明确告诉它连接到哪里。目标 host/ip 和端口是 SOCKS CONNECT
命令中的输入字段。所以,根本就没有guessing/infering。
Does SOCKS5 proxy somehow sniff destination from the protocol of the traffic it proxies?
没有。 SOCKS 只是原始字节的隧道,它没有自己以外的协议概念。
Can that destination port be configured?
不在代理本身上,不。由于客户端决定连接位置,因此任何配置都将在客户端进行。
Is it a predefined fixed set of protocols/ports? Smth like http=80 destination port?
没有
Any other internal details of forwarding you can add to clarify the picture.
阅读 SOCKS 协议规范。
SOCKS v4:https://www.openssh.com/txt/socks4.protocol
使用本地转发时,我们可以自由选择目标端口:
ssh -L 8000:10.10.1.11:80 user@192.168.56.102
- 80 是目标端口 - 我们明确指定要转发到哪个端口。
看看diagram in this article。如果我理解正确的话,在动态转发中目标端口有点隐含(?):
ssh -D 8080 user@192.168.56.102
- 8080 是本地主机端口,但它仍然以某种方式为我们转发到 80。
问题:
- SOCKS5 代理如何知道将流量转发到哪个端口?
- SOCKS5 代理是否以某种方式从其代理的流量协议中嗅探目的地?
- 可以配置目标端口吗?
- 它是在哪里配置的——在我的本地机器上,还是在为我们做最终转发的远程机器上?无处可去?
- 是protocols/ports预定义的固定集合吗?像 http=80 目标端口?
- 您可以添加转发的任何其他内部详细信息以阐明图片。
谢谢。
PS。在这里 https://unix.stackexchange.com/questions/213213/difference-between-local-port-forwarding-and-dynamic-port-forwarding#comment401063_213219 我发现了一些我感兴趣的提示,遗憾的是没有提供详细信息...
SSH和SOCKS是两种完全不同且互不相关的协议。但是,回答你的问题:
How SOCKS5 proxy knows which port to forward traffic to?
SOCKS 客户端明确告诉它连接到哪里。目标 host/ip 和端口是 SOCKS CONNECT
命令中的输入字段。所以,根本就没有guessing/infering。
Does SOCKS5 proxy somehow sniff destination from the protocol of the traffic it proxies?
没有。 SOCKS 只是原始字节的隧道,它没有自己以外的协议概念。
Can that destination port be configured?
不在代理本身上,不。由于客户端决定连接位置,因此任何配置都将在客户端进行。
Is it a predefined fixed set of protocols/ports? Smth like http=80 destination port?
没有
Any other internal details of forwarding you can add to clarify the picture.
阅读 SOCKS 协议规范。
SOCKS v4:https://www.openssh.com/txt/socks4.protocol