Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.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 是否可以检测访客DNS服务器?_Java_Php_Javascript_Jquery_Dns - Fatal编程技术网

Java 是否可以检测访客DNS服务器?

Java 是否可以检测访客DNS服务器?,java,php,javascript,jquery,dns,Java,Php,Javascript,Jquery,Dns,检测访客IP很容易。但是如何检测访问者的DNS服务器IP呢 我找到了这个PHP函数,但是它只找到域名的DNS dns_get_record("website.com", DNS_ANY); 是否可以检测访客DNS服务器?DNS解析不是请求本身的一部分,这意味着请求的接收者无法知道客户端(浏览器)使用了哪个DNS。DNS请求首先发生,因为需要将主机名解析为IP地址。完成后,将对所讨论的地址执行单独的请求。答案是否。服务器得到的只是与访问者的TCP连接,即[IP,端口]对。DNS解析取决于访问者

检测访客IP很容易。但是如何检测访问者的DNS服务器IP呢

我找到了这个PHP函数,但是它只找到域名的DNS

dns_get_record("website.com", DNS_ANY);

是否可以检测访客DNS服务器?

DNS解析不是请求本身的一部分,这意味着请求的接收者无法知道客户端(浏览器)使用了哪个DNS。

DNS请求首先发生,因为需要将主机名解析为IP地址。完成后,将对所讨论的地址执行单独的请求。

答案是否。服务器得到的只是与访问者的TCP连接,即[IP,端口]对。DNS解析取决于访问者的本地配置,可以通过代理完成。

是的,您可以,就像检测访问者的页面解析一样


您需要自己的DNS服务器并强制用户解析唯一的DNS名称。如果用户试图解决它,那么他们将泄漏到您的DNS服务器自己的DNS服务器地址。在DNS服务器旁边,您必须共享询问您的web应用程序的唯一DNS名称的信息。

这并不容易,但可以做到。这是亚当·多布罗维(Adam Dobrawy)在《华尔街日报》上的一个单独回答中提出的方法的一个演示

要添加一点细节,您可以实现如下内容:

第1部分-在myspecialdomain.com上设置您自己的DNS服务器

需要自定义写入此DNS服务器以记录和存储传入请求和源IP地址。这种存储只需要很短的时间,所以像memcache这样的东西可能会很好地工作。 DNS响应应该是一个域

第2部分-客户端代码

在脚本中,生成并存储一个大的随机数。进行浏览器查找。myspecialdomain.com。通过带有错误处理程序的JS img标记加载此文件。 在该错误处理程序中,现在对传递随机数的服务器端代码进行查询

第3部分-web应用程序(服务器端)

您需要实现一些服务器端逻辑,以获取随机字符串,在数据存储中查找它,并检索DNS服务器的IP地址。 注意这里的IP地址将是特定服务器的IP单播地址,而不是像8.8.8.8那样的IP选播地址。
在这里,您可以使用GeoIP或Whois数据库来确定该IP地址的所有者(OpenDNS、Google等)。然后,您可以生成一个响应以发送到客户端逻辑。

简言之:不。不再:不,这是不可能的。我亲爱的朋友,没有办法……不可能?那么,他们怎么能发现>谁呢。net@user198989-这是负责保存与用户ip地址关联的名称的DNS服务器,而不是用户用来循环其他ip地址的DNS服务器。这太棒了!我之所以搜索这个,是因为这正是f-secure和他们新的dns劫持分析工具所使用的技术。谢谢