我有一个dante袜子服务器,它被configuration为监听一个ipv4 IP,并有一个ipv6外部IP。
我想弄清楚如何validation是否真的有效。
我试图使用curl但如果我input:
curl http://google.com --socs5 1.2.3.4:9000
由于google.comparsing为ipv4地址,而且dante表示无法路由IPv4,因为它没有configurationIPv4地址作为外部地址。 这是相当多的预期。
然后,我发现curl的-6参数。 现在,它将google.comparsing为IPv6地址,但现在也尝试将1.2.3.4parsing为错误的IPv6地址。
如果我尝试明确使用IPv6作为curl的URL,我得到一个错误:
curl 'http://[2a00:1450:400c:c03:0:0:0:8b]/' --socks5 1.2.3.4:9000
此外,我试图使用远程login代理链,但似乎如果我指定一个IPv4地址作为proxychains中的代理:
socks5 1.2.3.4
它简单地忽略了这个代理,并且如果使用telnet协议来做一个直接的请求:
proxychains telnet 2a00:1450:400c:c03:0:0:0:8b 25
那么如何通过IPv4地址上的socks代理telnet到IPv6地址?
你所看到的是为什么通过SOCKS发送主机名几乎总是更好的原因之一,并让SOCKS服务器将其parsing为IP地址而不是parsingSOCKS客户端上的IP地址。
在curl手册页中,我发现提到了两个不同的SOCKS5选项,具体取决于您想要parsing主机名的哪一方。 --socks5将parsing客户机上的主机名,– --socks5-hostname将parsing服务器上的主机名。 我build议使用后者。 其他SOCKS客户端也可能需要configuration为在SOCKS服务器上进行主机名parsing。 例如,我发现Firefox默认会在客户端parsing主机名,但是它确实有一个configuration选项可以在服务器上完成。
另外手册页build议使用--proxy而不是--socks*选项。 从我的阅读正确的语法为您的案件将是--proxy socks5h://192.0.2.4:9000/