gpt4 book ai didi

SOCKS 5 服务器 - BND.PORT & BND.ADDR

转载 作者:行者123 更新时间:2023-12-04 03:13:31 25 4
gpt4 key购买 nike

在 C++ 中(我没有包括代码,因为这更多是协议(protocol)理解问题)我正在创建一个 SOCKS5 服务器并有几个问题,因为客户端在我向它发送批准的消息后终止连接。在 RFC 中它说 BND.ADDR 和 BND.PORT 用于:RFC 1928

o BND.ADDR server bound address

o BND.PORT server bound port in network octet order`

In the reply to a CONNECT, BND.PORT contains the port number that the server assigned to connect to the target host, while BND.ADDR
contains the associated IP address.

这是我的问题,

  1. 什么是 BND.PORT,我应该为它指定什么?
  2. “指定连接到目标主机的服务器”是什么意思?目标主机是“客户端”吗?
    1. 我已经从头到尾阅读了 5 遍 RFC,但我还没有理解它,有人可以更详细地介绍 BND.PORT 及其含义吗?

我在 Wireshark 中四处嗅探,发现 BND.PORT 对于每个发出的请求都是不同的。 (我不确定要输入哪个端口,因为我尝试的所有操作都导致 Proxifer( socks 客户端)说“服务器给出了意外的重播 - 连接终止”

来自实际 SOCKS5 服务器(不是我的)的 Wireshark 连接十六进制转储: enter image description here enter image description here

最佳答案

只是为了确保我们在同一页面上...这是客户端、服务器和主机之间的关系。请注意,客户端和主机不能直接相互交谈。

客户端 <-> 服务器 <-> 主机

What does it mean by "server assigned to connect to the target host" Is target host the "Client"?

没有。 “主机”是客户端试图通过 SOCKS5 服务器连接的设备。 “客户端”在 SOCKS5 服务器的另一端,离主机最远。

What is BND.PORT and what should I specify for it?.

BND.PORT 是离开 SOCKS5 服务器并发往主机的数据包的源端口。您无法控制服务器选择的端口。想想看。主机从哪里看到数据包?肯定不是客户端。从主机的角度来看,数据包都来自服务器,它不知道客户端。此外,BND.ADDR 是服务器的 IP。

我所说的在使用 CONNECT 的情况下是正确的。我还没有使用 BIND 或 UDP ASSOCIATE 的经验。

关于SOCKS 5 服务器 - BND.PORT & BND.ADDR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43013695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com