SOCKS 4A


Google 

SOCKS 4A (正體)

SOCKS 4ASOCKS 4 协议的简单扩展,允许客户端对无法解析的目的主机,进行自行规定。

客户端对DSTIP的头三个字节设定为NULL,最后一个字节为非零;对应的IP地址就是0.0.0.x,其中x是非零,这当然不可能是目的主机的地址,这样即使客户端可以解析域名,对此也不会发生冲突。USERID以紧跟的NULL字节作结尾,客户端必须发送目的主机的域名,并以另一个NULL字节作结尾。CONNECT和BIND请求的时候,都要按照这种格式(以字节为单位):

+----+----+----+----+----+----+----+----+----+----+....+----+----+----+....+----+
| VN | CD | DSTPORT | DSTIP 0.0.0.x     | USERID       |NULL| HOSTNAME     |NULL|
+----+----+----+----+----+----+----+----+----+----+....+----+----+----+....+----+
   1    1      2              4           variable       1    variable       1

使用4a协议的服务器必须检查请求包里的DSTIP字段,如果表示地址0.0.0.x,x是非零结尾,那么服务器就得读取客户端所发包中的域名字段,然后服务器就得解析这个域名,可以的话,对目的主机进行连接。

外部链接

  • Ying-Da Lee,SOCKS 4A: A Simple Extension to SOCKS 4 Protocol(SOCKS 4A:SOCKS 4协议的一个简单扩展)
  • Michel Arboi,Vulnerability - Too long hostname kills the SOCKS4A server(很受伤:域名过长导致SOCKS4A服务器死机)
Google 

! __







Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History