Node.js 如何通过NodeJS中的SOCKS5代理发送UDP数据包?

Node.js 如何通过NodeJS中的SOCKS5代理发送UDP数据包?,node.js,proxy,udp,Node.js,Proxy,Udp,有没有办法通过NodeJS中的SOCKS5代理发送UDP数据包 类似地,是否可以将UDP套接字绑定到特定的本地地址?SOCKS5协议支持UDP连接,但是大多数SOCKS5库只支持TCP,因为UDP在web上不经常使用(DNS除外)。协议本身并不复杂,因此重写现有库(可能?)以满足您的需要应该不会太难。根据和,Socks5中应该真正支持UDP 但是,如果您查看一些SOCKS5实现,就会发现该实现中不支持UDP。例如:或( 因此,简短的回答是“否”,除非您找到支持它的库(UDP绑定)。要从客户端发送

有没有办法通过NodeJS中的SOCKS5代理发送UDP数据包


类似地,是否可以将UDP套接字绑定到特定的本地地址?

SOCKS5协议支持UDP连接,但是大多数SOCKS5库只支持TCP,因为UDP在web上不经常使用(DNS除外)。协议本身并不复杂,因此重写现有库(可能?)以满足您的需要应该不会太难。

根据和,Socks5中应该真正支持UDP

但是,如果您查看一些SOCKS5实现,就会发现该实现中不支持UDP。例如:或(


因此,简短的回答是“否”,除非您找到支持它的库(UDP绑定)。

要从客户端发送UDP数据包,必须在客户端连接请求的字段2中指定值0x03。请参阅:

例如,引用库中的代码行需要从0x01更改为0x03:

buffer.push(0x01); // Command code: establish a TCP/IP stream connection

我不知道如何绑定到特定的本地地址。

我按照IETF规范编写了一个小型库,允许我通过特定的本地地址进行连接。我使用了Node的
dgram
net
模块。
buffer.push(0x01); // Command code: establish a TCP/IP stream connection