socks4 代理连接消息中的 USERID 应该是什么?

网络工程 代理
2022-02-05 11:44:35

我想向代理服务器发送一个connect请求socks4,它将我连接到另一个远程主机。我已经阅读了socks4 协议规范,它为消息提供了这个方案connect

                +----+----+----+----+----+----+----+----+----+----+....+----+
                | VN | CD | DSTPORT |      DSTIP        | USERID       |NULL|
                +----+----+----+----+----+----+----+----+----+----+....+----+
 # of bytes:       1    1      2              4           variable       1
  1. VN是版本号,所以应该是4.
  2. CD1要求connect
  3. DSTPORT应该是远程主机端口。
  4. DSTIP应该是远程主机IP地址。
  5. USERID? 说,它可以是可变的。但是我应该提供什么价值?随机的?多久?
  6. NULL- 的终结者USERID全零位的字节。

我希望,我在其他方面正确理解了协议。

1个回答

USERID 的确切使用取决于所讨论的 SOCKS4 服务器。它是一个以 null 结尾的可变长度字符串。

如果服务器不需要该字段,您可以使用 0x00。