Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java通过tor代理进行DNS查找?_Java_Proxy_Dns_Tor - Fatal编程技术网

如何使用Java通过tor代理进行DNS查找?

如何使用Java通过tor代理进行DNS查找?,java,proxy,dns,tor,Java,Proxy,Dns,Tor,正如标题所说,我目前试图通过tor代理解析主机名 Tor在专用服务器(192.168.1.15)上运行。获取一个网站没有问题,但是如果我试图获取主机的IP,Java仍然会直接查找并忽略代理 我已经试过这样做: //从以下位置尝试lib:www.xbill.org/dnsjava 导入org.xbill.DNS.*; [...] 公共无效查找(){ //无代理查找 试一试{ InetAddress addr=Address.getByName(“stackoverflow.com”); 系统输出打

正如标题所说,我目前试图通过tor代理解析主机名

Tor在专用服务器(192.168.1.15)上运行。获取一个网站没有问题,但是如果我试图获取主机的IP,Java仍然会直接查找并忽略代理

我已经试过这样做:

//从以下位置尝试lib:www.xbill.org/dnsjava
导入org.xbill.DNS.*;
[...]
公共无效查找(){
//无代理查找
试一试{
InetAddress addr=Address.getByName(“stackoverflow.com”);
系统输出打印项次(地址);
}捕获(未知后异常e){
e、 printStackTrace();
}
//设置代理
//http://docs.oracle.com/javase/7/docs/api/java/net/doc-files/net-properties.html#Proxies
System.setProperty(“socksProxyHost”,“192.168.1.15”);
System.setProperty(“socksProxyPort”、“9050”);
//试图用dnsjava解决问题
试一试{
Record[]records=新查找(“stackoverflow.com”,Type.A).run();
用于(记录:记录){
系统输出打印项次(记录);
}
}catch(textparse异常){
e、 printStackTrace();
}
//试图在没有lib的情况下解决问题
试一试{
System.out.println(InetAddress.getByName(“stackoverflow.com”);
}捕获(未知后异常e){
e、 printStackTrace();
}
}
公共作废请求(){
InetSocketAddress torProxyAddress=新的InetSocketAddress(“192.168.1.15”,9050);
Proxy torProxy=新代理(Proxy.Type.SOCKS,torProxyAddress);
套接字基础=新套接字(torProxy);
InetSocketAddress unsolvedar=InetSocketAddress.createUnresolved(“stackoverflow.com”,80);
试一试{
基础.connect(未解决ADR);
BufferedWriter out=new BufferedWriter(new OutputStreamWriter(底层.getOutputStream());
BufferedReader in=新的BufferedReader(新的InputStreamReader(底层.getInputStream());
out.write(“GET/HTTP/1.1\nHost:stackoverflow.com\n\n”);
out.flush();
弦线;
而((line=in.readLine())!=null){
系统输出打印项次(行);
}
}捕获(IOE异常){
}最后{
试一试{
close();
}捕获(IOE异常){
e、 printStackTrace();
}
}
}

如何强制Java通过tor代理进行查找?

通过tor代理进行查找很困难,因为如果不修改或实现自己的NetAddressNameService,InetAddressNameservice就无法通过tor进行路由。 正常的NSLookup是通过端口53(UDP)完成的,Tor目前仅支持TCP

因此,使用Tor解析主机名的方法,您需要实现自己的“Tor客户端”,因为您需要发送中继解析单元(检查)

一个简单的选择是使用。
此库还使用Tor网络进行ns查找。

通过Tor代理进行查找很困难,因为如果不修改或实现自己的NetAddressNameService,InetAddressNameservice无法通过Tor路由。 正常的NSLookup是通过端口53(UDP)完成的,Tor目前仅支持TCP

因此,使用Tor解析主机名的方法,您需要实现自己的“Tor客户端”,因为您需要发送中继解析单元(检查)

一个简单的选择是使用。 该库还使用Tor网络进行ns查找