SOCKS 4A: A Simple Extension to SOCKS 4 Protocol Ying-Da Lee yingda@best.com or yingda@esd.sgi.com Please read SOCKS4.protocol first for an description of the version 4 protocol. This extension is intended to allow the use of SOCKS on hosts which are not capable of resolving all domain names. In version 4, the client sends the following packet to the SOCKS server to request a CONNECT or a BIND operation: +----+----+----+----+----+----+----+----+----+----+....+----+ | VN | CD | DSTPORT | DSTIP | USERID |NULL| +----+----+----+----+----+----+----+----+----+----+....+----+ # of bytes: 1 1 2 4 variable 1 VN is the SOCKS protocol version number and should be 4. CD is the SOCKS command code and should be 1 for CONNECT or 2 for BIND. NULL is a byte of all zero bits. For version 4A, if the client cannot resolve the destination host's domain name to find its IP address, it should set the first three bytes of DSTIP to NULL and the last byte to a non-zero value. (This corresponds to IP address 0.0.0.x, with x nonzero. As decreed by IANA -- The Internet Assigned Numbers Authority -- such an address is inadmissible as a destination IP address and thus should never occur if the client can resolve the domain name.) Following the NULL byte terminating USERID, the client must sends the destination domain name and termiantes it with another NULL byte. This is used for both CONNECT and BIND requests. A server using protocol 4A must check the DSTIP in the request packet. If it represent address 0.0.0.x with nonzero x, the server must read in the domain name that the client sends in the packet. The server should resolve the domain name and make connection to the destination host if it can. SOCKSified sockd may pass domain names that it cannot resolve to the next-hop SOCKS server.
SOCKS 4A: A Simple Extension to SOCKS 4 Protocol
最新推荐文章于 2024-07-09 11:16:54 发布
本文介绍了SOCKS 4A,它是SOCKS 4协议的扩展,旨在让无法解析所有域名的主机使用SOCKS。文中说明了SOCKS 4客户端向服务器请求操作的数据包格式,以及4A版本中客户端无法解析域名时的处理方式,还提及服务器对请求包的检查和处理。
5896

被折叠的 条评论
为什么被折叠?



