求助:关于Socks5客户端的实现
测试环境:
client:就我自己的机器,ip:192.168.1.180
socks5proxy server:就在我的机器上,监听9811端口。
访问目标: 192.168.1.250:1026
如果不使用代理,直接访问192.168.1.250:1026 ,肯定是成功的,说明目标server没有问题。
如果使用代理:
1. 打开到proxy的tcp socket: 192.168.1.180:9811 成功。
2. 协商版本和认证方式:
VER=5
NMETHODS=1
METHODS=0 //采用非认证方式
返回 VER=5 METHOD=0 也成功了。
3. 请求连接远端主机,数据包如下:
VER=5
CMD=1 //请求连接
RSV=0
ATYP=1 //IPV4
DST.ADDR = 192.168.1.250 //4bytes
DST.PORT = 1026 //2bytes
返回的响应数据包和请求的完全相同,也就是说REP=1,失败了。 RFC1928的解释是“普通的SOCKS服务器请求失败”。
Why?是否socks5proxy server和client不能在相同的机器上? socks5proxy server是否必须要2个IP地址?
感激涕零!!!