gpt4 book ai didi

java - 通过Java检查域名年龄

转载 作者:行者123 更新时间:2023-11-30 04:28:41 26 4
gpt4 key购买 nike

我正在为一个大学项目制作一个简单的网络钓鱼扫描工具。我的检测方法之一包括检查电子邮件中的 DNS 是否有效,并且我还想检查它们的年龄。这是我如何检查它们是否存在的示例代码:

import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import java.util.Hashtable;

public class DNSExample {
static int doLookup( String hostName ) throws NamingException {
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial",
"com.sun.jndi.dns.DnsContextFactory");
DirContext ictx = new InitialDirContext( env );
Attributes attrs =
ictx.getAttributes( hostName, new String[] { "MX" });
Attribute attr = attrs.get( "MX" );
if( attr == null ) return( 0 );
return( attr.size() );
}

public static void main( String args[] ) {

String [] array = {"google.com","dsad33114sssaxzx.com"} ;
for( int i = 0; i < array.length; i++ ) {
try {
System.out.println( array[i] + " has " +
doLookup( array[i] ) + " mail servers" );
}
catch( Exception e ) {
System.out.println(array[i] + " : " + e.getMessage());
}
}
}
}

How would I need to modify the above code to include a check of age for servers that exist?

最佳答案

我认为您选择了一个在一般情况下无法解决的问题......使用当前一代互联网标准:

  1. 您需要的信息无法从 DNS 本身获取。
  2. 在某些情况下,可以从 WHOIS 获取有关 DNS 注册的信息。然而,WHOIS 服务器返回的信息并不标准化:
    • 没有标准的信息模型。
    • 没有标准格式。
    • 我们不保证信息的准确性。
    • 甚至不清楚“服务器年龄”是否可用。 (例如,APNIC 的 WHOIS 提供的最接近的是 DNS 记录的最后修改时间戳。这并不是服务器年龄的良好代理。)
  3. 有一组 RFC 定义了名为 CRISP 的内容。 ,但据我所知,该标准的目的是让注册商之间交换信息。 (我找不到任何基于 CRISP 的面向公众的服务。)
  4. 还有一个 IETF 工作组,名为 WEIRDS我认为这是为了定义 WHOIS 的网络替代品。 (不要将 WEIRDS 与 IETF WEIRD WG 混淆!)但该工作组是最近才成立的,现在对结果做出任何预测还为时过早。 (或者 NIC 需要多长时间才能实现工作组制定的任何规范。)
<小时/>

总结:目前,您在这个领域实现真正有效的东西的机会很低。也许您最希望实现的目标是基于屏幕抓取一两个 WHOIS 服务。

这可能会在几年后发生变化,但这对您当前的项目没有任何帮助。

关于java - 通过Java检查域名年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15169482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com